質問: Security::cipher($check_login[0]['User']['password'], PASS_SEC);
回答: Seucity::cipher()はCakePHPのマニュアルによれば「脆弱な XOR 暗号を利用しています。従って、重要で機密性の高いデータへ 使うべきではありません」だそうです。 パスワードを扱っているようですが、自己の認証用のパスワードなら、暗号化ではなく非可逆のハッシュ値を保存しておくべきです。それもただ単にハッシュ関数を通すだけでは不十分なので、PHP標準のpassword_hash()を使うと良いでしょう。認証の際は質問のようにDBに保存された値を復号して入力されたパスワードと比較するのではなく、入力されたパスワードを`password_hash`に通してその結果とDBに保存されたハッシュ値を比較します。 復元可能な形式でパスワードを保存する必要がある(たとえば他のアプリケーションの認証のためのパスワードを保存している)のであれば、相当慎重に実装する必要があります。`cipher()`は問題外ですし、どんな強力なアルゴリズムを使っていても質問にあるように固定のキーで暗号化していればセキュリティ的にはほぼ無意味です。 体系的に学ぶ 安全なWebアプリケーションの作り方には認証やパスワードの保存についても解説がありますので一読されることをお勧めします。