c#使用SHA1将字符串散列成字节数组

本文关键字:字节 字节数 数组 使用 SHA1 字符串 | 更新日期: 2023-09-27 17:52:40

我使用SHA1加密一些值,如密码。这是我的代码:

String passwd = Membership.GeneratePassword(10, 2);
SHA1 sha = new SHA1CryptoServiceProvider();
byte [] password = sha.ComputeHash(passwd);

但是VS返回错误,因为passwd是字符串。我必须将密码存储在字节数组中,有办法解决这个问题吗?

c#使用SHA1将字符串散列成字节数组

String passwd = Membership.GeneratePassword(10, 2);
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(passwd);
SHA1 sha = new SHA1CryptoServiceProvider();
byte [] password = sha.ComputeHash(bytes);

注意SHA1不加密数据,而是散列。加密后的数据可以解密。哈希算法是单向的

使用Encoding将字符串转换为字节数组

var bytes= Encoding.UTF8.GetBytes(passwd);
var password = sha.ComputeHash(bytes);