1
Encrypt.cs如何將字符串轉換爲UWP中的image.source?
BitmapImage bitmapImage = new BitmapImage(new Uri(this.BaseUri,@"D:\Others\Quotes\1.jpg"));
var plainString = bitmapImage;
string key = txtkey.Text; // Key
string encryptedString = await EncryptStringHelper(plainString.ToString(), key); // Encrypt method and get string
txbencrypt.Text = encryptedString;
Decrypt.cs
string encryptedString = txbencrypt.Text; // Encrypt text
string key = txtkey.Text; // Same key
string decryptedString = await DecryptStringHelper(encryptedString, key);
imgoutput.Source = decryptedString;
private Task<string> EncryptStringHelper(string plainString, string key)
{
try
{
var hashKey = GetMD5Hash(key);
var decryptBuffer = CryptographicBuffer.ConvertStringToBinary(plainString, BinaryStringEncoding.Utf8);
var AES = SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithmNames.AesEcbPkcs7);
var symmetricKey = AES.CreateSymmetricKey((IBuffer)hashKey);
var encryptedBuffer = CryptographicEngine.Encrypt(symmetricKey, decryptBuffer, null);
var encryptedString = CryptographicBuffer.EncodeToBase64String(encryptedBuffer);
return Task.Run(() =>
{
return encryptedString;
});
}
catch (Exception ex)
{
return null;
}
}
public Task<string> DecryptStringHelper(string encryptedString, string key)
{
try
{
var hashKey = GetMD5Hash(key);
IBuffer decryptBuffer = CryptographicBuffer.DecodeFromBase64String(encryptedString);
var AES = SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithmNames.AesEcbPkcs7);
var symmetricKey = AES.CreateSymmetricKey((IBuffer)hashKey);
var decryptedBuffer = CryptographicEngine.Decrypt(symmetricKey, decryptBuffer, null);
string decryptedString = CryptographicBuffer.ConvertBinaryToString(BinaryStringEncoding.Utf8, decryptedBuffer);
return Task.Run(() =>
{
return decryptedString;
});
}
catch (Exception ex)
{
return null;
}
}
我開發通用的Windows應用程序(UWP),然後嘗試進行加密和解密,以圖像文件,但我轉換圖片來加密文本,然後我不能」當我將該文本解密爲圖像時,將其轉換。那我該怎麼做?
你的字符串是'base64'字符串嗎? –
是的,例如:(FXr1sQhcoFsg3fRqyTovZrUw4g0nWrJtPAuk9iQgqXjWw33IXYUyEINuJViIDUGl)這是加密字符串,但我解密文本它的返回時,我把斷點在字符串decryptedstring變量它顯示在「windows.ui.xaml.media.imaging.bitmapimage」,所以我如何轉換圖像。 – Azarudeen
據我瞭解,'decryptedString' - base64string,並且你想從'decryptedString'創建圖像 –