Popular blog tags

asp .net core cookie登陆程序用户密码加密方案

Published

使用PBKDF2算法来创建哈希的方法。PBKDF2全称Password-Based Key Derivation Function,它的基本原理是通过一个伪随机函数(例如HMAC函数),把明文和一个盐值作为输入参数,然后重复进行运算,最终产生秘钥。如果重复的次数足够大,破解的成本将非常大。

Install-Package Microsoft.AspNetCore.Cryptography.KeyDerivation -Version 3.1.6

 

创建一个加密密码的方法,传入需要加密密码,和盐

      private static string HashPassword(string value, string salt)
        {
            var valueBytes = KeyDerivation.Pbkdf2(
                password: value,//密码
                salt: Encoding.UTF8.GetBytes(salt),//盐
                prf: KeyDerivationPrf.HMACSHA512,//伪随机函数,这里是SHA-512
                iterationCount: 10000,//迭代次数
                numBytesRequested: 256 / 8);//最后输出的秘钥长度
 
            return Convert.ToBase64String(valueBytes);
        }

 

DK = PBKDF2(PRF, Password, Salt, c, dkLen)

PRF 是一个伪随机函数,可以简单的理解为 Hash 函数。
Password 表示口令 。
Salt 表示盐值,一个随机数。
c 表示迭代次数。
dkLen 表示最后输出的密钥长度。我们先引入NuGet包

 

 

 

https://blog.csdn.net/hezudao25/article/details/119209664