Codeigniter Ion Auth 生成密码
Codeigniter Ion Auth generating a password
在我正在制作的应用程序中,我需要快速编辑和创建一些密码,我想我已经找到了一种方法,但我怀疑它的正确性。
我仔细研究了 ion auth 并在 ion_auth_model
中找到了这个函数
/**
* Hashes the password to be stored in the database.
*
* @return void
* @author Mathew
**/
public function hash_password($password, $salt=false, $use_sha1_override=FALSE)
{
if (empty($password))
{
return FALSE;
}
//bcrypt
if ($use_sha1_override === FALSE && $this->hash_method == 'bcrypt')
{
return $this->bcrypt->hash($password);
}
if ($this->store_salt && $salt)
{
return sha1($password . $salt);
}
else
{
$salt = $this->salt();
return $salt . substr(sha1($salt . $password), 0, -$this->salt_length);
}
}
并通过在我的一个控制器中创建此 public 函数进行测试
public function Qpass_gen(){
$pass = $this->ion_auth_model->hash_password('password',FALSE,FALSE);
echo $pass;
}
当我用 ion_auth 默认存储在数据库中的字符串替换 Qpass_gen()
字符串时,我成功登录了。
我的快速生成密码的方法能保证一直有效吗?
是的,这是处理它的好方法。作为图书馆的作者,这就是我的建议。
在我正在制作的应用程序中,我需要快速编辑和创建一些密码,我想我已经找到了一种方法,但我怀疑它的正确性。
我仔细研究了 ion auth 并在 ion_auth_model
/**
* Hashes the password to be stored in the database.
*
* @return void
* @author Mathew
**/
public function hash_password($password, $salt=false, $use_sha1_override=FALSE)
{
if (empty($password))
{
return FALSE;
}
//bcrypt
if ($use_sha1_override === FALSE && $this->hash_method == 'bcrypt')
{
return $this->bcrypt->hash($password);
}
if ($this->store_salt && $salt)
{
return sha1($password . $salt);
}
else
{
$salt = $this->salt();
return $salt . substr(sha1($salt . $password), 0, -$this->salt_length);
}
}
并通过在我的一个控制器中创建此 public 函数进行测试
public function Qpass_gen(){
$pass = $this->ion_auth_model->hash_password('password',FALSE,FALSE);
echo $pass;
}
当我用 ion_auth 默认存储在数据库中的字符串替换 Qpass_gen()
字符串时,我成功登录了。
我的快速生成密码的方法能保证一直有效吗?
是的,这是处理它的好方法。作为图书馆的作者,这就是我的建议。