8字节纯文本的DES加密产生16字节数组

ele*_*u81 4 c# encryption des

我使用此代码加密8字节PlainText与8字节键,但结果始终是16字节数组.

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;
}
Run Code Online (Sandbox Code Playgroud)

ouptut的前8个字节是我所期望的,但其余的我不知道它是什么..这个代码有问题吗?

Rem*_*anu 8

使用PKCS填充将输入填充到下一个块大小.7字节输入将被填充到8. 8-15到16. 16-23到24,依此类推.

  • 太棒了!,添加mDES.Padding = PaddingMode.None有效..谢谢 (3认同)