2015-04-23 29 views
2

我一直在試圖對我必須在設備上保存的密碼執行哈希和鹽操作。這是我一直在使用的代碼,但我無法在Windows Store Framework中找到System.Security.Cryptography和RNGCryptoServiceProvider。Windows Store應用程序中的哈希和鹽字符串

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應用商店做到這一點? 由於

+0

爲什麼Windows Store應用程序散列密碼?這不是客戶端應用程序的工作 –

+1

我需要在本地保存密碼,我不希望將其保存爲純字符串 – LittleDan45

回答

0

有使用RNGCryptoServiceProvider

var buffer = CryptographicBuffer.GenerateRandom(saltlength); 
var string = CryptographicBuffer.EncodeToBase64String(buffer) 

Windows.Security.Cryptography是替代System.Security.Cryptography窗戶店應用的替代品。