Maison  >  Article  >  cadre php  >  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

王林
王林avant
2020-05-10 17:00:263013parcourir

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);

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 { 
  // 验证失败(密码错误) 
}

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();

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);

Déchiffrement :


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

2. encryptByKey() et decryptByKey()

Cryptage :

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

Décryptage :


//$encryptedData:需要解密的信息,$secretKey:加密时使用的密钥(key) 
$data = Yii::$app->getSecurity()->decryptByKey($encryptedData, $secretKey);

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer