ホームページ >PHPフレームワーク >YII >yii がデータの暗号化と復号化を実装する方法

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

王林
王林転載
2020-05-10 17:00:263049ブラウズ

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 までご連絡ください。