yii がデータの暗号化と復号化を実装する方法

王林
リリース: 2020-05-10 17:00:26
転載
3018 人が閲覧しました

yii がデータの暗号化と復号化を実装する方法

1. パスワードを暗号化し、クライアントから送信されたパスワードが正しいかどうかを確認します

1. パスワードを暗号化します

$hash = Yii::$app->getSecurity()->generatePasswordHash($password);
ログイン後にコピー

2.パスワードが正しいかどうかを判断するためにクライアントから渡されます

//$password:客户端传递的明文密码,$hash:对密码进行加密后的哈希值 
if (Yii::$app->getSecurity()->validatePassword($password, $hash)) { 
  // 验证成功(密码正确) 
} else { 
  // 验证失败(密码错误) 
}
ログイン後にコピー

2. 擬似ランダム データを生成します

パスワードをリセットするとき、多くの場合、ユーザーのメールアドレスに電子メールが送信されます。メールボックスにリセットパスワードを与えます。この時点で、Yii の擬似ランダムデータメソッドを使用して、ユーザー

//默认生成32为随机字符,可以指定位数生成指定位数的伪随机数 
$key = Yii::$app->getSecurity()->generateRandomString();
ログイン後にコピー

3 のパスワードとして擬似ランダムデータを生成できます。Yii 共通データの暗号化と復号化

Yii の一般的な暗号化メソッドには、encryptByPassword() および encryptByKey()が含まれます。

Yii の一般的な復号化メソッドには、decryptByPassword() および decryptByKey()

1. encryptByPassword()および decryptByPassword()

Encryption:

//$data:需要加密的信息,$secretKey:加密时使用的密钥(key) 
$encryptedData = Yii::$app->getSecurity()->encryptByPassword($data, $secretKey);
ログイン後にコピー
ログイン後にコピー

Decryption:

//$encryptedData:需要解密的信息,$secretKey:加密时使用的密钥(key) 
$data = Yii::$app->getSecurity()->decryptByPassword($encryptedData, $secretKey);
ログイン後にコピー

2.encryptByKey() および decryptByKey()

Encryption:

//$data:需要加密的信息,$secretKey:加密时使用的密钥(key) 
$encryptedData = Yii::$app->getSecurity()->encryptByPassword($data, $secretKey);
ログイン後にコピー
ログイン後にコピー

復号化:

//$encryptedData:需要解密的信息,$secretKey:加密时使用的密钥(key) 
$data = Yii::$app->getSecurity()->decryptByKey($encryptedData, $secretKey);
ログイン後にコピー

推奨チュートリアル: yii

以上がyii がデータの暗号化と復号化を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート