密码验证; 这样做是否安全?

7 html php mysql security

我有一个分类广告网站,每个人都可以放置他们产品的广告.

对于每个分类,用户必须输入密码(以便他们可以随时删除分类).

所以基本上,当有人想要删除分类时,他们点击分类,点击删除按钮,然后输入通行证.

我使用MySql作为数据库.

我基本上使用这个代码:

if ($pass==$row['poster_password'])
Run Code Online (Sandbox Code Playgroud)

从MySql获取行[poster_password] ...

你怎么看?谢谢

dla*_*tte 9

请参阅:PHP密码的安全散列和salt

在进入数据库的路上哈希密码(可能带有一些盐).将散列密码存储在数据库中(而不是实际密码).然后从数据库中获取散列密码并散列输入密码并比较散列密码.

一些蹩脚的伪代码:

password_hash = hash(password_cleartext)
# store password_hash in database
Run Code Online (Sandbox Code Playgroud)

后来:

input_password_hash = hash(input_password_cleartext)
fetched_password_hash_from_db = fetch(db, password_hash)
if (input_password_hash == fetched_password_hash_from_db) {
    ... authenticated ...
}
Run Code Online (Sandbox Code Playgroud)

首先使用php,请尝试:http://php.net/manual/en/function.sha1.php

  • +1首先提及散列.**哈希不是加密人** - 它们是完全不同的概念*(它也与校验和不同,后者不一定是加密安全的)*.另外,**MD5完全坏了**,不要使用它. (6认同)