我正在寻求保护密码编码的一些建议。在这里我想提一下,我不想使用新的password_hash()api,也不想迁移旧密码,如果我使用了password_hash()api,我必须迁移我的旧用户密码,这不是锣到可能现在。所以这是我的老方法。
function login() {
//the code of getting password from database.......I am skipping this part.....
if(!Check($given_pass,$expected_pass)))
//User enter a password in the session as given_pass and expected_pass is the md5 generated hash password stored in database.
return error('pass error');
return notice('pass success');
}
function Encode($text) {
return md5(paramtr2Str("conf.cryptographykey").$text);
//cryptography key is a random generated string at the server side.
}
function Check($given_pass, $expected_pass) {
return $expected == Encode($given_pass);
}
我认为我的编码功能是可以破解的,我想通过坚持原始格式来给它一些额外的安全性。
答案 0 :(得分:1)
您可以使用sha1()
加密MD5加密密码。您必须在数据库中再次使用sha1()
加密所有用户密码(MD5加密),并在登录页面中使用此sha1(md5($password))
检查其密码,并将其与您的数据库进行比较。
这会大大提高您的网站安全性,但无论如何我建议您使用password_hash()。