Как вы используете библиотеку crypt в C для шифрования DES? (setkey, encrypt, crypt и т. д.)

Мне нужно сделать простое шифрование DES на C для взаимодействия со старым кодом. Из того, что я понимаю, вы можете использовать для этого библиотеку «crypt» с функциями setkey, encrypt, crypt и т. Д. Я возился с этим и не могу сделать это правильно. Пример на странице руководства для setkey / encrypt отсутствует.

Я хочу получить тот же вывод, который смог бы получить с помощью некоторого кода Java (см. Ниже).

Допустим, у меня есть два массива символов в C.

char *message = "hellothe";
char *key = "iamakey0";

Может кто-нибудь привести пример того, как зашифровать их с помощью setkey / encrypt и получить тот же результат, что и я, из кода Java? Я понимаю, что вы должны поместить сообщение и ключ в массив из 64 байтов, где каждый символ представляет бит, но кое-что из этого также сбивает с толку. По-видимому, вы тоже должны получить немного паритета или что-то в этом роде?

public static byte[] encryptDES(byte[] message, byte[] key) {
    byte[] encrypted = new byte[0];
    try{
        Cipher c = Cipher.getInstance("DES");
        c.init(Cipher.ENCRYPT_MODE,new SecretKeySpec(key,"DES"));
        encrypted = c.doFinal(message);
    }
    catch (Exception e) {
        e.printStackTrace();
    }
    return encrypted;
}

Ответы на вопрос(2)

Ваш ответ на вопрос