微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql-server-2005 – [Sql-Server]什么数据类型用于密码salt和hash值以及什么长度?

我从我的密码生成盐和哈希值使用,
string salt = CreateSalt(TxtPassword.Text.Length);
string hash = CreatePasswordHash(TxtPassword.Text,salt);

private static string CreateSalt(int size)
{
    //Generate a cryptographic random number.
    RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
    byte[] buff = new byte[size];
    rng.GetBytes(buff);

    // Return a Base64 string representation of the random number.
    return Convert.ToBase64String(buff);
}

private static string CreatePasswordHash(string pwd,string salt)
{
    string saltAndPwd = String.Concat(pwd,salt);
    string hashedPwd =
     FormsAuthentication.HashPasswordForStoringInConfigFile(
     saltAndPwd,"sha1");

    return hashedPwd;
}

您建议在sql server中存储这些值的数据类型?任何建议…

盐:9GsPWpFD

哈希:E778AF0DC5F2953A00B35B35D80F6262CDBB8567

解决方法

ASPNET_DB说这个 – 不能出错.
Password nvarchar(128) NOT NULL,PasswordSalt nvarchar(128) NOT NULL,

而128可能看起来很多,各种类型的加密可能会导致比您开始的更大的字符串.绝对没有理由不跟随那些花费数千小时开发asp.net会员制的非常聪明的人.

原文地址:https://www.jb51.cc/mssql/82153.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐