我使用登录身份验证
创建了一个默认的MVC 4项目当我注册密码为123456的帐户时
为什么它存储在SQL数据库中:ALWsAlpVTehuGr7W2jaGwoX3Ww0RE5GC+yYDITvCpCdHmIIrX7vwMoTW3cEbMsGd4w==
如果是这样,它如何比较2个字符串以检查输入的密码是否正确?
答案 0 :(得分:0)
默认情况下,当密码存储在SQL数据库中时,它们会被加密。当您再次尝试登录时,密码将在身份验证尝试之前被加密,然后此加密密码将与存储在数据库中的密码进行比较。
公司数据库受到损害是令人不安的。想象一下,如果一个黑客得到了你的数据库的副本,那么每个人的用户名和密码都是纯文本的。大多数人对多个站点使用相同的密码,因此想象一下这些影响。然而,如果黑客只有加密密码,则无法反转盐并获取原始纯文本密码。
答案 1 :(得分:0)
这个问题已在StackOverflow上多次回答: