I had a simple class to do some basic local encryption for Windows Phone 8. I wanted to use the class again in a new UWP Windows 10 app for the Windows Store. Unfortunately I cannot use the AesManaged class anymore.
I tried to use Windows.Security.Cryptography.Core
, but I'm completely stuck.
This is the original class I used for Windows Phone 8. I must have found it somewhere on the internet back then.
using System.Security.Cryptography;
namespace TestGame
{
public class AesEnDecryption
{
private string AES_Key = "MYLiSQ864FhDevJOeMs9EVp5RmfC7OuH";
private string AES_IV = "FoL5Tyd9sZclVn5A";
public string AES_encrypt(string Input)
{
var aes = new AesManaged();
aes.KeySize = 128;
aes.BlockSize = 128;
aes.Key = Convert.FromBase64String(AES_Key);
aes.IV = Encoding.UTF8.GetBytes(AES_IV);
var encrypt = aes.CreateEncryptor(aes.Key, aes.IV);
byte[] xBuff = null;
using (var ms = new MemoryStream())
{
using (var cs = new CryptoStream(ms, encrypt, CryptoStreamMode.Write))
{
byte[] xXml = Encoding.UTF8.GetBytes(Input);
cs.Write(xXml, 0, xXml.Length);
}
xBuff = ms.ToArray();
}
string Output = Convert.ToBase64String(xBuff);
return Output;
}
public string AES_decrypt(string Input)
{
var aes = new AesManaged();
aes.KeySize = 128;
aes.BlockSize = 128;
aes.Key = Convert.FromBase64String(AES_Key);
aes.IV = Encoding.UTF8.GetBytes(AES_IV);
var decrypt = aes.CreateDecryptor();
byte[] xBuff = null;
using (var ms = new MemoryStream())
{
using (var cs = new CryptoStream(ms, decrypt, CryptoStreamMode.Write))
{
byte[] xXml = Convert.FromBase64String(Input);
cs.Write(xXml, 0, xXml.Length);
}
xBuff = ms.ToArray();
}
string Output = Encoding.UTF8.GetString(xBuff, 0, xBuff.Length);
return Output;
}
}
}
Does someone knows how to translate this for UWP Windows 10 apps?
Thanks!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…