Maison > cadre php > YII > Comment yii implémente le cryptage et le décryptage des données

Comment yii implémente le cryptage et le décryptage des données

王林
Libérer: 2020-05-10 17:00:26
avant
3045 Les gens l'ont consulté

Comment yii implémente le cryptage et le décryptage des données

1. Cryptez le mot de passe et vérifiez si le mot de passe transmis par le client est correct

1. Cryptez le mot de passe

$hash = Yii::$app->getSecurity()->generatePasswordHash($password);
Copier après la connexion

Vérifiez le. mot de passe transmis par le client pour déterminer s'il est correct

//$password:客户端传递的明文密码,$hash:对密码进行加密后的哈希值 
if (Yii::$app->getSecurity()->validatePassword($password, $hash)) { 
  // 验证成功(密码正确) 
} else { 
  // 验证失败(密码错误) 
}
Copier après la connexion

2. Générer une donnée pseudo-aléatoire

Lorsque nous réinitialisons le mot de passe, nous envoyons souvent un e-mail à Dans le compte de l'utilisateur boîte aux lettres, donnez-lui un mot de passe de réinitialisation. À ce stade, nous pouvons utiliser la méthode de données pseudo-aléatoires de Yii pour générer des données pseudo-aléatoires comme mot de passe pour l'utilisateur

//默认生成32为随机字符,可以指定位数生成指定位数的伪随机数 
$key = Yii::$app->getSecurity()->generateRandomString();
Copier après la connexion

3. 🎜>

Les méthodes de cryptage courantes dans Yii sont : encryptByPassword() et encryptByKey()

Les méthodes de décryptage courantes dans Yii sont : decryptByPassword() et decryptByKey()

1. et decryptByPassword()

Cryptage :

//$data:需要加密的信息,$secretKey:加密时使用的密钥(key) 
$encryptedData = Yii::$app->getSecurity()->encryptByPassword($data, $secretKey);
Copier après la connexion
Copier après la connexion

Déchiffrement :


//$encryptedData:需要解密的信息,$secretKey:加密时使用的密钥(key) 
$data = Yii::$app->getSecurity()->decryptByPassword($encryptedData, $secretKey);
Copier après la connexion

2. encryptByKey() et decryptByKey()

Cryptage :

//$data:需要加密的信息,$secretKey:加密时使用的密钥(key) 
$encryptedData = Yii::$app->getSecurity()->encryptByPassword($data, $secretKey);
Copier après la connexion
Copier après la connexion

Décryptage :


//$encryptedData:需要解密的信息,$secretKey:加密时使用的密钥(key) 
$data = Yii::$app->getSecurity()->decryptByKey($encryptedData, $secretKey);
Copier après la connexion
Tutoriel recommandé :

yii

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal