Sto migrando/convertendo/ricostruendo un'app di Windows Phone 7.1 a un'app di Windows 8 Store.Utilizzo di hmacsha256 nell'app di Windows Store
Un metodo che sto usando in de WP7 app mi sta dando problemi:
private byte[] GetSHA256Key(string data, string secretKey)
{
byte[] value = Encoding.UTF8.GetBytes(data);
byte[] secretKeyBytes = Encoding.UTF8.GetBytes(secretKey);
HMACSHA256 hmacsha256 = new HMACSHA256(secretKeyBytes);
byte[] resultBytes = hmacsha256.ComputeHash(value);
return resultBytes;
}
Guardando la documentazione per Windows Store Apps sono arrivato fino a questo nuovo codice, che speravo darebbe lo stesso risultato. Ma no. Sto facendo qualcosa di sbagliato Ma cosa?
private byte[] GetSHA256Key(string value, string secretKey)
{
// Create a MacAlgorithmProvider object for the specified algorithm.
MacAlgorithmProvider objMacProv = MacAlgorithmProvider.OpenAlgorithm(MacAlgorithmNames.HmacSha256);
// Create a buffer that contains the message to be signed.
IBuffer valueBuffer = CryptographicBuffer.ConvertStringToBinary(value, BinaryStringEncoding.Utf8);
// Create a key to be signed with the message.
IBuffer buffKeyMaterial = CryptographicBuffer.ConvertStringToBinary(secretKey, BinaryStringEncoding.Utf8);
CryptographicKey cryptographicKey = objMacProv.CreateKey(buffKeyMaterial);
// Sign the key and message together.
IBuffer bufferProtected = CryptographicEngine.Sign(cryptographicKey, valueBuffer);
DataReader dataReader = DataReader.FromBuffer(bufferProtected);
byte[] bytes = new byte[bufferProtected.Length];
dataReader.ReadBytes(bytes);
return bytes;
}
Non sono un esperto di crittografia. Non sono sicuro di quello che sto facendo. Forse c'è qualcuno là fuori che può aiutarmi.
Thanx, JP
"Un metodo che utilizzo nell'app WP7 mi dà problemi" perché? Metodi/classi mancanti? Eccezioni? I dettagli ti aiuteranno. – Will