ASP.NET成员资格提供程序 - 公开salt

时间:2012-07-26 09:01:24

标签: c# asp.net membership salt provider

背景

我们正在使用存储成员登录信息的ASPNET成员资格提供程序,以及MongoDB来存储第二组信息。

由于MongoDB不提供内置加密,因此我们决定在使用ASPNET成员资格提供程序表中的成员salt将数据插入数据库之前对其进行加密。

目的

我如何公开盐以便可以在代码中访问它?我在默认的提供程序类中找不到任何方法。

替代

要么是否有人建议采用更好的方法?将盐保存在不同地方的好处之一是保护它免受“闯入者”的侵害。

谢谢, 最大

1 个答案:

答案 0 :(得分:0)

这是一种方法,你可以使用用户名,电子邮件来盐。

public static string hashCalculator(string username, string password)//Use username as salt.
        {
            byte[] stringbytes = System.Text.Encoding.Unicode.GetBytes(username.ToLower() + password);
            return Convert.ToBase64String(new SHA384Managed().ComputeHash(stringbytes));
        }