質問: new Configure(); Security::encrypt('aa',$configure->read('Security.key'),$configure->read('Security.salt')); // app.phpの一部 Security[ 'key' => env('SECURITY_KEY','HOGEhogeHOGEhogeHOGEhogeHOGEhoge'), 'salt' => env('SECURITY_salt','PIYOpiyoPIYOpiyoPIYOpiyoPIYOpiyo'), ] ``` インターネットで探しても、文字化けしたという現象自体が見つかりません・・・ どなたか知見をお借りできないでしょうか。 下記の記事を参考にさせていただきました。 https://book.cakephp.org/3.0/ja/core-libraries/security.html http://absg.hatenablog.com/entry/2016/07/06/194230
回答: 根本的な解決方法にはなっていないのですが... ◆ 問題 1. メールにURLを挿入したい 2. CakePHPのSecurityクラスを使うと文字化けする ◆ 解決 1. 代替の方法を考える 2. openssl_encrypt、openssl_decryptを利用する 3. 利用した結果、/等の文字列が入るのでhex2binを利用して16進数にする 4. メールクエリストリングを載せられる ということができました。 エンコード方法とデコード方法を書き記しておきます。 ``` // エンコード bin2hex(openssl_encrypt('暗号化したいよ','暗号化メソッド','セキュリティキー')); // デコード openssl_decrypt(hex2bin('復号したいよ'),'暗号化メソッド','セキュリティキー'); ``` 暗号化メソッドは沢山ありますが、Qiitaの@zaburoさんの記事を参考にしました。 https://qiita.com/zaburo/items/e2f08d40d8f8d9ae875f 以上です。お騒がせしました。