C # DES ECB Шифрование OpenSSL - PullRequest
       39

C # DES ECB Шифрование OpenSSL

0 голосов
/ 28 сентября 2019

У меня проблема с получением моего шифрования, совпадающего с тем, что я получаю из OpenSSL.Входные данные в файле Mk.bin представляют собой шестнадцатеричное значение CA46E5A885D1E016150B5B64ECC11A43

. Вот моя команда openssl:

openssl.exe enc -des-ecb -in C:\OpenSSL\Mk.bin -out C:\OpenSSL\MkOut.bin -nosalt -k TestKey0

И моя функция C # для сопоставления:1007 *

public static byte[] EncryptDES(byte[] clearData, byte[] key)
    {
        DES desEncrypt = new DESCryptoServiceProvider();
        desEncrypt.Mode = CipherMode.ECB;
        desEncrypt.Key = key;
        ICryptoTransform transForm = desEncrypt.CreateEncryptor();
        MemoryStream encryptedStream = new MemoryStream();
        CryptoStream cryptoStream = new CryptoStream(encryptedStream, transForm, CryptoStreamMode.Write);
        cryptoStream.Write(clearData, 0, clearData.Length);
        cryptoStream.FlushFinalBlock();
        return encryptedStream.ToArray();
    }

1 Ответ

0 голосов
/ 28 сентября 2019

Я нашел ответ -p, вставленный в openssl, показывает, что он конвертирует мой шестнадцатеричный вводКогда я использовал преобразованный ключ в c #, он вывел правильное значение

...