在验证用户登录密码时哪个更好
使用加密算法对用户输入的密码进行加密,并将其与存储的加密用户密码进行比较
或
使用解密算法对存储的用户加密密码进行解密,并将其与用户输入的密码进行比较
任何输入都会受到赞赏
答案 0 :(得分:2)
为允许访问,应散列 未加密密码。
纯文本密码永远不应存储在任何系统上。仅应存储生成的该密码的哈希值。
哈希是一种单向加密,它将密码字符串转换为乱码的唯一参考字符串。
加密的密文是这些字符串之一,可以将其转换回为纯文本字符串。
但是您不需要知道密码,只需要知道它是相同-进行登录时即可;用户名/电子邮件或用于选择数据库行的任何内容。抓取并重新获得散列密码,然后以相同的方式散列登录时给出的明文密码。如果结果相同,则密码字符串与原始字符串相同,因此用户可以登录。
就像煮蛋糕一样。
您有一个配料表-但这些都是秘密的,您不得与任何人共享。这样,您就可以在橱柜中用这些食材制作蛋糕了。 cake 是hash
(是,哈希蛋糕?),成分是password
。
因此,当其他人尝试制作蛋糕时,他们会使用自己的食材,并且会制作出其他蛋糕,而您不知道其食材是什么,但是一旦煮熟(300毫秒),便会成为另一种蛋糕,因此沙漠厨房里的厨师知道不是你。只有白痴才会把这么多大蒜放在蛋糕中。