Ich verwende diesen Code, um eine 8 Bytes PlainText mit einem 8-Byte-Schlüssel zu verschlüsseln, aber das Ergebnis ist immer ein 16-Byte-Array.DES-Verschlüsselung von 8 Bytes Klartext ergibt 16-Byte-Array
public static byte[] Encrypt(byte[] PlainText, byte[] key)
{
MemoryStream ms = new MemoryStream();
DESCryptoServiceProvider mDES = new DESCryptoServiceProvider();
mDES.Mode = CipherMode.ECB;
mDES.Key = key;
CryptoStream encStream = new CryptoStream(ms, mDES.CreateEncryptor(), CryptoStreamMode.Write);
BinaryWriter bw = new BinaryWriter(encStream);
bw.Write(PlainText);
bw.Close();
encStream.Close();
byte[] buffer = ms.ToArray();
ms.Close();
return buffer;
}
Die ersten 8 Bytes des ouptut ist, was ich erwarten würde, aber der Rest Ich weiß nicht, was es ist .. es ist etwas falsch mit diesem Code?
Toll !, Hinzufügen mDES.Padding = PaddingMode.None funktioniert .. Danke – eledu81
Das ist in Ordnung, solange Sie die Größe des Klartextes kennen. Andernfalls benötigen Sie eine bestimmte Auffüllmethode, um die Größe des Klartextes zu bestimmen (für andere, die sich dieses Frage-/Antwort-Formular ansehen). –