.NET自定义MembershipProvider解密密码

Dav*_*leu 1 .net c# asp.net-membership membership-provider

我在ac#项目中使用自定义的MemberShipProvider,基于以下代码:http://www.asp.net/learn/videos/video-189.aspx,由于某种原因我无法弄清楚,方法是解密用户密码以验证登录在密码值前面增加了8个字符(例如:䝉惯尝㳪畕锬密码).

我使用"加密"的passwordFormat和UnEncodePassword方法包含:

private string UnEncodePassword(string encodedPassword)
{
    string password = encodedPassword;
    password = Encoding.Unicode.GetString(DecryptPassword(Convert.FromBase64String(encodedPassword)));

    return password;
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

Dea*_*unt 6

"䝉惯尝㳪畕锬"是吗?(更新)

在服务器上,在web.config或其他中,您有一个salt值,例如"milkshake".当用户提供类似"TheYard"的密码时,您需要添加盐并加密"milkshakeTheYard".登录时,将salt添加到请求中并将其与加密字符串进行比较.

那么盐有什么意义呢?如果加密密码落入坏人手中,"TheYard"只有7个字符,很容易在Rainbow Table上查找.通过添加盐,您可以更加努力地完成此过程.

盐本身提供的安全性很小,但组合使用提供了一个容易实现的额外层.

  • 您可以将答案标记为答案.低调帮助你的人是一记耳光. (2认同)