我使用SHA1加密某些值,如密码。 这是我的代码:
String passwd = Membership.GeneratePassword(10, 2);
SHA1 sha = new SHA1CryptoServiceProvider();
byte [] password = sha.ComputeHash(passwd);
但VS返回错误,因为passwd是一个字符串。 我必须将密码存储在字节数组中,所以有办法解决这个问题吗?
答案 0 :(得分:12)
String passwd = Membership.GeneratePassword(10, 2);
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(passwd);
SHA1 sha = new SHA1CryptoServiceProvider();
byte [] password = sha.ComputeHash(bytes);
请注意,SHA1不会对数据进行加密,而是对其进行哈希处理。加密数据可以解密。哈希算法是一种方法。
答案 1 :(得分:1)
使用Encoding将字符串转换为字节数组
var bytes= Encoding.UTF8.GetBytes(passwd);
var password = sha.ComputeHash(bytes);