我有一个程序,用户可以在其中输入 username
以及 password
分别在2个字段中。我将每个密码作为md5散列分别存储在mysql表中的两行中(尽管我知道这不是很安全)。在用户输入密码并将其与数据库进行比较时,我不会对密码进行哈希处理,而是执行以下操作:
select * from users
where username = 'value_from_the_username_field' AND
password = 'md5(value_from_the_pass_field)'
我想问的是,在到达服务器并执行查询之前,密码是否真的可以通过网络以纯文本的形式显示,以及这是如何发生的?(我不能很好地理解这个概念)
1条答案
按热度按时间bqjvbblv1#
为了安全起见,您必须对密码散列进行加密,然后这个问题就会自行解决,因为数据库不能进行散列。
相反,您需要在开发语言中调用密码散列函数,如password\u hash()for php,然后将散列插入数据库。