Como você usa a biblioteca de criptografia em C para a criptografia DES? (setkey, criptografar, cripta, etc.)
Eu preciso fazer alguma criptografia DES simples em C para interagir com algum código antigo. Pelo que entendi você pode usar a biblioteca "crypt" para isso, com as funções setkey, criptografar, cripta, etc. Eu tenho mexido com isso e não consigo acertar. O exemplo na página man do setkey / encrypt está faltando.
Eu quero obter o mesmo resultado que eu seria capaz de obter com algum código java (veja abaixo).
Então, digamos que eu tenha dois arrays de caracteres em C.
char *message = "hellothe";
char *key = "iamakey0";
Alguém pode dar um exemplo de como criptografar estes com setkey / encrypt e obter o mesmo resultado que eu do código java? Eu percebo que você tem que colocar mensagem e chave em uma matriz de 64 bytes, onde cada caractere representa um pouco, mas alguns dos que é confuso também. Aparentemente, você tem que ter a paridade certa nisso também ou algo assim?
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;
}