是否哈希处理使之更安全时使用两次密码?我的例子是在CodeIgniter中,我把它分解到最低限度。请不要指出这个例子中的所有错误,这只是一个例子。散列时使用密码两次使它更安全吗?
<?php
function user_signup(){ // The normal way
$this->load->database();
$new_user_insert = array(
'password' => sha1($salt . $this->input->post('password')));
}
function user_signup(){ // The double insert way
$this->load->database();
$new_user_insert = array(
'password' => sha1($this->input->post('password') . $salt . $this->input->post('password')));
}
}
编辑: 我的想法是,它将使在放长一倍,一个例子(用户名:joe
,密码:123456789
)。因此,与其有我的哈希123456789
彩虹表,这将是123456789123456789
。我知道这是一个过于简单,和哈希看起来更像01a967f5d27b9e910754729a669504a60d2aa865
,但将是黑客将需要更大的彩虹table.Please纠正我,如果我错了。
预先感谢您。
”两次插入密码是否安全? - 取决于你插入它的位置。 :) – 2012-04-01 03:08:14
没有。事实上,保证密码安全的最好方法是永远不要记录它! ;) – zombat 2012-04-01 03:11:17
@zombat:他没有记录它,只是一个密码单向散列。加盐。实际上,这是非常好的做法。 – 2012-04-01 03:29:20