

以下の関数を使ってパスワードを暗号化&復号化をしたいのですが、vendorフォルダにCrypt.php  
としてCryptクラスを作り、Controllerから

[code]

    App::uses('Crypt', 'Vendor');
    
[/code]

を呼び出しても、Securityクラスが見つかりませんとなってしまいます。  
どのようにすればうまくいきますでしょうか。

[code]

    class Crypt {
        static public function encrypt($text) {
            return base64_encode(Security::rijndael($text, Configure::read('constants.crypt_key'), 'encrypt'));
        }
    
        static public function decrypt($text) {
            return Security::rijndael(base64_decode($text), Configure::read('constants.crypt_key'), 'decrypt');
        }
    }
    
[/code]


CC BY-SA 3.0
2015-06-02T07:06:43.957
10886
2015-06-03T04:11:50.943
2015-06-02T13:19:16.267
8000
8619
question
php cakephp
cakephpの暗号化復号化について


コントローラ内でコンポーネントを定義してみたらいかがでしょうか。

> public $components = [ 'Security' ];


CC BY-SA 3.0
2015-06-02T13:01:12.333
10904
2015-06-02T13:01:12.333
1046
10886
answer


CryptがSecurityクラスに依存しているので

Crypt.phpのクラス定義の前に

`App::uses('Security', 'Utility');`

を追記してください。


CC BY-SA 3.0
2015-06-03T04:11:50.943
10932
2015-06-03T04:11:50.943
2668
10886
answer