ユーザー名とパスワードを入力するログインページのcodeigniterでコードを作成しました。[送信]ボタンをクリックすると、データベースからパスワードが選択されてデコードされますが、復号化されたパスワードは元のパスワードではありません。
さまざまな記号が付いた別のパスワードが表示されていますが、元のパスワードは表示されていません。
$this->encrypt->decode($row['password'], ENC_KEY)
元のパスワードを与えていません。私が設定したencryption_key
設定ファイルにしても、ライブラリ暗号化と呼ばれます。
しかし、それでもデコード機能は元のパスワードを表示していません。なんでそんなの?
コントローラファイルのコンストラクタを次のように指定しました:
public function __construct()
{
parent::__construct();
$this->load->library('encrypt');
$this->load->library('session');
$this->load->model("loginmodel");
}
これがお役に立てば幸いです:
構成暗号化キーを使用する最初の方法
$this->config->item('encryption_key'
)を使用して構成暗号化キーを取得します
$msg = 'password';
$key = $this->config->item('encryption_key');
$encrypted_data = $this->encrypt->encode($msg,$key);
echo $encrypted_data.PHP_EOL;
$original = $this->encrypt->decode($encrypted_data,$key);
echo $original;
2番目:構成暗号化キーを使用したくない場合は、独自のキーを使用します
$msg = 'password';
$key = 'mykey';
$encrypted_data = $this->encrypt->encode($msg,$key);
echo $encrypted_data.PHP_EOL;
$original = $this->encrypt->decode($encrypted_data,$key);
echo $original;
詳細:https://www.codeigniter.com/user_guide/libraries/encrypt.html
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加