stackoverflow sha256cryptoserviceprovider password net example encrypt ejemplo desencriptar .net windows-8 windows-runtime windows-store

.net - sha256cryptoserviceprovider - sha512 vb net



Cómo crear hashes SHA-256 en WinRT? (1)

Fui a crear un hash SHA-256 unidireccional simple en WinRT hoy y me di cuenta de que no funcionaba. Hice una validación y aparentemente obtuve esto:

◦API System.Security.Cryptography.SHA256Generado en MSCORLIB, PUBLICKEYTOKEN = B77A5C561934E089 no es compatible para este tipo de aplicación. CryptoWinRT.exe llama a esta API. ◦API System.Security.Cryptography.HashAlgorithm en MSCORLIB, PUBLICKEYTOKEN = B77A5C561934E089 no es compatible con este tipo de aplicación. CryptoWinRT.exe llama a esta API. ◦API System.Security.Cryptography.SHA256Managed. # Ctor en MSCORLIB, PUBLICKEYTOKEN = B77A5C561934E089 no es compatible con este tipo de aplicación. CryptoWinRT.exe llama a esta API. ◦API System.Security.Cryptography.HashAlgorithm.ComputeHash (System.Byte []) en MSCORLIB, PUBLICKEYTOKEN = B77A5C561934E089 no es compatible con este tipo de aplicación. CryptoWinRT.exe llama a esta API.

¿Cuál es el reemplazo de esto? ¿Y por qué no se permitiría algo tan trivial en WinRT?


¿Esto funciona para tí?

private void HandleHashClick(object sender, RoutedEventArgs e) { // get the text... var inputText = this.textInput.Text; // put the string in a buffer, UTF-8 encoded... IBuffer input = CryptographicBuffer.ConvertStringToBinary(inputText, BinaryStringEncoding.Utf8); // hash it... var hasher = HashAlgorithmProvider.OpenAlgorithm("SHA256"); IBuffer hashed = hasher.HashData(input); // format it... this.textBase64.Text = CryptographicBuffer.EncodeToBase64String(hashed); this.textHex.Text = CryptographicBuffer.EncodeToHexString(hashed); }