背景
我们使用存储成员登录信息的 ASPNET 成员提供程序,以及存储辅助信息集的 MongoDB。
由于 MongoDB 不提供内置加密,我们决定在将某些数据插入数据库之前使用 ASPNET 成员资格提供程序表中的成员 salt 对其进行加密。
客观的
我将如何公开盐以便在代码中可以访问它?我在默认提供程序类中找不到任何方法。
选择
或者有人可以提出更好的方法吗?将盐保存在不同的地方的好处之一是保护它免受“闯入者”的侵害。
谢谢,马克斯。
我们使用存储成员登录信息的 ASPNET 成员提供程序,以及存储辅助信息集的 MongoDB。
由于 MongoDB 不提供内置加密,我们决定在将某些数据插入数据库之前使用 ASPNET 成员资格提供程序表中的成员 salt 对其进行加密。
我将如何公开盐以便在代码中可以访问它?我在默认提供程序类中找不到任何方法。
或者有人可以提出更好的方法吗?将盐保存在不同的地方的好处之一是保护它免受“闯入者”的侵害。
谢谢,马克斯。
这是一种方法,您可以使用用户名、电子邮件来加盐。
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));
}