yii可逆加密解密

生成随机数

  • 方法:generateRandomString
  • 用法:
 $key = Yii::$app->security->generateRandomString();

加密

  • 方法:encryptByPassword
  • 用法:
$password_hash = Yii::$app->getSecurity()->encryptByPassword($password, $key)

参数说明:

参数 类型 备注
$password string 要加密的密码
$key string 自己设置的salt

解密

  • 方法:decryptByPassword
  • 用法:
$data = Yii::$app->getSecurity()->decryptByPassword($password_hash, $key);

参数说明

参数 类型 备注
$password_hash string 要解密的内容
$key string 自己设置的salt

实例:

$password = '1234567';
$key = Yii::$app->security->generateRandomString();
//加密
$password_hash = base64_encode(Yii::$app->getSecurity()->encryptByPassword($password, $key));//加密入数据库password_hash字段内容
//解密
$data = Yii::$app->getSecurity()->decryptByPassword(base64_decode($password_hash), $key);//解密结果:1234567

但是对字符串进行加密,加密后的字符串是一串乱码。
我们可以使用base64处理加密后的字符串, 处理后的字符串是由字母和数字组成。

你可能感兴趣的:(yii可逆加密解密)