Windows Store App 中的哈希和盐字符串
Hash and Salt string in Windows Store App
我一直在尝试对必须保存在设备上的密码进行哈希和加盐。这是我一直在使用的代码,但我在 Windows Store Framework 中找不到 System.Security.Cryptography 和 RNGCryptoServiceProvider。
public static string CreateSalt(int size)
{
var rng = new RNGCryptoServiceProvider();
var buff = new byte[size];
rng.GetBytes(buff);
return Convert.ToBase64String(buff);
}
public static string GenerateSHA256Hash(string input, string salt)
{
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input + salt);
SHA1Managed sha = new SHA1Managed();
byte[] hash = sha.ComputeHash(bytes);
return Convert.ToBase64String(hash);
}
有人对如何在 Windows 商店应用程序上执行此操作有建议吗?
谢谢
有一种替代方法可以使用 RNGCryptoServiceProvider
var buffer = CryptographicBuffer.GenerateRandom(saltlength);
var string = CryptographicBuffer.EncodeToBase64String(buffer)
Windows.Security.Cryptography 是 windows 应用商店应用 System.Security.Cryptography 的替代品。
我一直在尝试对必须保存在设备上的密码进行哈希和加盐。这是我一直在使用的代码,但我在 Windows Store Framework 中找不到 System.Security.Cryptography 和 RNGCryptoServiceProvider。
public static string CreateSalt(int size)
{
var rng = new RNGCryptoServiceProvider();
var buff = new byte[size];
rng.GetBytes(buff);
return Convert.ToBase64String(buff);
}
public static string GenerateSHA256Hash(string input, string salt)
{
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input + salt);
SHA1Managed sha = new SHA1Managed();
byte[] hash = sha.ComputeHash(bytes);
return Convert.ToBase64String(hash);
}
有人对如何在 Windows 商店应用程序上执行此操作有建议吗? 谢谢
有一种替代方法可以使用 RNGCryptoServiceProvider
var buffer = CryptographicBuffer.GenerateRandom(saltlength);
var string = CryptographicBuffer.EncodeToBase64String(buffer)
Windows.Security.Cryptography 是 windows 应用商店应用 System.Security.Cryptography 的替代品。