Ich habe nur einen Schlüssel und einen Wert erhalten, der mit AES verschlüsselt ist. Ich muss das jetzt entschlüsseln und den Wert daraus abrufen. Jedoch haben alle Proben, die ich online gefunden habe, andere Eigenschaften zum Entschlüsseln (Salz, IV, ...)AES128 Entschlüsselung in C#
Ich habe diese Website online gesehen http://aes.online-domain-tools.com/ und ich bin in der Lage, es als eine Binärdatei zu entschlüsseln.
aber dies in C# scheint scheint nicht für mich arbeiten.
Kann mir jemand eine einfache Möglichkeit zur Entschlüsselung von AES_128 in C# mit nur dem verschlüsselten Wert und einem Schlüssel zur Verfügung stellen?
bearbeiten
die IV aus dem Schlüssel abrufen:
Key = System.Text.Encoding.ASCII.GetBytes(DecryptionConstants.AES_KEY); using (Aes aesAlg = Aes.Create()) { // Convert Key to bytes and pass into AES aesAlg.Key = Convert.FromBase64String(DecryptionConstants.AES_KEY); IV = new byte[aesAlg.BlockSize/8]; var hexKey = BitConverter.ToString(IV); IV = StringToByteArray("a2 26 cb 78 e2 cb 26 cb e7 c7 f0 bc c7 7b bd 9d"); }
Entschlüsseln
byte[] EncryptedBytes = Convert.FromBase64String(text); //Setup the AES provider for decrypting. AesCryptoServiceProvider aesProvider = new AesCryptoServiceProvider { Key = Key, IV = this.IV, BlockSize = 128, KeySize = 256, Padding = PaddingMode.None, Mode = CipherMode.CBC, }; var cryptoTransform = aesProvider.CreateDecryptor(aesProvider.Key, aesProvider.IV); var DecryptedBytes = cryptoTransform.TransformFinalBlock(EncryptedBytes, 8, EncryptedBytes.Length-8);
Dies führt zu einem Byte-Array, das in keiner Weise sein kann, zurück zu der Saite, die ich habe Setzen Sie ein.
auf dem Link Suchen Sie in der Frage geschickt, sind die IV wahrscheinlich die ersten 16 Bytes des Datenblockes. Bitte auch ausarbeiten, was du schon probiert hast und so etwas Code. – quinz
Danke für die Antwort, ich habe die Frage aktualisiert. – Patrick
@Patrick Site, die Sie verwenden, hat viele Möglichkeiten der Verschlüsselung und Entschlüsselung. Welche Optionen hast du benutzt? Haben Sie versucht, diese Optionen in dem Code zu replizieren, den Sie von irgendwo kopiert haben? –