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 的替代品。