我正在开展新的会员项目。当我查看数据库设计时,有一个password_salt字段,即VARCHAR(20)。在我以前的项目中,我只是使用md5加密密码,它不安全。
$save['password'] = md5($this->input->post('password'));
我发现了一些生成salt的代码,它似乎只是生成一个随机字符串,但是什么是合适的大小,是否足以使用VARCHAR(20)?
protected function _create_salt()
{
$this->CI->load->helper('string');
return sha1(random_string('alnum', 20));
}
此外,如果有
的代码示例,我们将非常感激1) using salt to validate
2) using salt to hash the password so that it can save to database
感谢。