Ich habe den AES-Algorithmus mithilfe dieser Website implementiert. https://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged(v=vs.110).aspxDas Meldungsfeld wird nicht zur Anzeige von Entschlüsselungsdaten angezeigt.
Nach der Verschlüsselung wird der Wert in eine Zeichenfolge konvertiert und an die Datenbank gesendet. was war erfolgreich. Als ich den Wert Verschlüsselter Wert abrief, war das erfolgreich. Aber wenn ich mit der Entschlüsselung beginne, wurde kein Fehler gefunden, und es wurde auch keine Ausgabe angezeigt (Ausgabe über das Nachrichtenfeld erhalten). was soll ich machen?
byte[] cipherbytes = System.Text.ASCIIEncoding.Default.GetBytes(encypted);
//AES Decryption start
try
{
using (AesManaged myAes = new AesManaged())
{
// Decrypt the bytes to a string.
string roundtrip = DecryptStringFromBytes_Aes(cipherbytes, myAes.Key, myAes.IV);
//Console.WriteLine("Round Trip: {0}", roundtrip);
MessageBox.Show(roundtrip, "Decrypted text"); //this meessage box is not showing
}
}
catch (Exception e)
{
Console.WriteLine("Error: {0}", e.Message);
//MessageBox.Show("Inside is working");
}
// Hier ist Entschlüsselungs-Algorithmus als auch
static string DecryptStringFromBytes_Aes(byte[] cipherText, byte[] Key, byte[] IV)
{
// Check arguments.
if (cipherText == null || cipherText.Length <= 0)
throw new ArgumentNullException("cipherText");
if (Key == null || Key.Length <= 0)
throw new ArgumentNullException("Key");
if (IV == null || IV.Length <= 0)
throw new ArgumentNullException("IV");
// Declare the string used to hold
// the decrypted text.
string plaintext = null;
// Create an AesManaged object
// with the specified key and IV.
using (AesManaged aesAlg = new AesManaged())
{
aesAlg.Key = Key;
aesAlg.IV = IV;
// Create a decrytor to perform the stream transform.
ICryptoTransform decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV);
// Create the streams used for decryption.
using (MemoryStream msDecrypt = new MemoryStream(cipherText))
{
using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
{
using (StreamReader srDecrypt = new StreamReader(csDecrypt))
{
// Read the decrypted bytes from the decrypting stream
// and place them in a string.
plaintext = srDecrypt.ReadToEnd();
}
}
}
}
return plaintext; hat leider gefehlt. Ich versuche, die Probleme mithilfe der obigen Methode herauszufinden. Ich stelle den Break-Point nach deinem Vorschlag. Aber nichts ist passiert. Wenn ich die Messagbox in catch (Ausnahme e) aktiviere, erscheint das Popup-Fenster. was zeigt, dass eine Ausnahme auftritt. aber immer noch nicht das Problem mit Konsolenfehler finden. –