在每个密码中加盐yii

时间:2015-02-03 04:11:34

标签: yii passwords salt

我有一个名为salt的表格列,它是必填字段,但我不希望用户输入自己的盐 我们的系统有没有办法为每个密码生成一个盐,通过sha1加密?

4 个答案:

答案 0 :(得分:1)

您正在使用Yii,因此我们以 YII风格

执行此操作

我用

Yii::app()->securityManager->generateRandomString($length,true)

要了解它,请点击here

答案 1 :(得分:1)

Yii框架提供了一个类CPasswordHelper,它使用每个密码包含的盐生成安全的BCrypt哈希值。使用此类,您可以不使用盐的单独字段。来自Yii纪录片的一个例子:

$hash = CPasswordHelper::hashPassword($password);

if (CPasswordHelper::verifyPassword($password, $hash))
    // password is good
else
    // password is bad

答案 2 :(得分:0)

您可以将每个条目的随机值用作盐。只要看起来是随机的,价值是多少并不重要。

检查此链接: https://crackstation.net/hashing-security.htm

答案 3 :(得分:0)

使用最简单的加密&解密PHP中的信息

$salt ='whatever_you_want';
function simple_encrypt($text)
{
    return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $salt, $text, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
}
function simple_decrypt($text)
{
    return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $salt, base64_decode($text), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)));
}