hash—关于在mysql中使用md5()内置函数哈希的问题

ws51t4hk  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(529)

我有一个程序,用户可以在其中输入 username 以及 password 分别在2个字段中。我将每个密码作为md5散列分别存储在mysql表中的两行中(尽管我知道这不是很安全)。在用户输入密码并将其与数据库进行比较时,我不会对密码进行哈希处理,而是执行以下操作:

select * from users
where username = 'value_from_the_username_field' AND
password  = 'md5(value_from_the_pass_field)'

我想问的是,在到达服务器并执行查询之前,密码是否真的可以通过网络以纯文本的形式显示,以及这是如何发生的?(我不能很好地理解这个概念)

bqjvbblv

bqjvbblv1#

为了安全起见,您必须对密码散列进行加密,然后这个问题就会自行解决,因为数据库不能进行散列。
相反,您需要在开发语言中调用密码散列函数,如password\u hash()for php,然后将散列插入数据库。

相关问题