close
private const string strKey = "Key"; private const string strIV = "IV"; public static string Encrypt(string message) { if (string.IsNullOrEmpty(message)) { return string.Empty; } var keyBuffer = CryptographicBuffer.ConvertStringToBinary(strKey, BinaryStringEncoding.Utf8); var ivBuffer = CryptographicBuffer.ConvertStringToBinary(strIV, BinaryStringEncoding.Utf8); var messageBuffer = CryptographicBuffer.ConvertStringToBinary(message, BinaryStringEncoding.Utf8); var provider = SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithmNames.DesCbcPkcs7); var key = provider.CreateSymmetricKey(keyBuffer); var buffEncrypt = CryptographicEngine.Encrypt(key, messageBuffer, ivBuffer); return CryptographicBuffer.EncodeToBase64String(buffEncrypt); } public static string Decrypt(string encryptedBase64String) { if (string.IsNullOrEmpty(encryptedBase64String)) { return string.Empty; } var buffer = CryptographicBuffer.ConvertStringToBinary(strKey, BinaryStringEncoding.Utf8); var ivBuffer = CryptographicBuffer.ConvertStringToBinary(strIV, BinaryStringEncoding.Utf8); var provider = SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithmNames.DesCbcPkcs7); var keyBuffer = provider.CreateSymmetricKey(buffer); var decryptedBuffer = CryptographicEngine.Decrypt(keyBuffer, CryptographicBuffer.DecodeFromBase64String(encryptedBase64String), ivBuffer); return CryptographicBuffer.ConvertBinaryToString(BinaryStringEncoding.Utf8, decryptedBuffer); }
參考資料:
http://www.dotnetspeak.com/winrt/encrypting-and-decrypting-data-in-winrt-2/
全站熱搜
留言列表