У меня есть основной и дочерний процесс. Я создал зашифрованную строку с основным ключом, используя библиотеку openssl. Я также создал зашифрованную строку с тем же ключом. Оба входных значения одинаковы, но их результаты различны.AES шифрование от основного, дешифрование от ребенка
Вот мой основной процесс шифрования:
unsigned char *encryptedString;
unsigned char key[8] = {4,1,8,9,1,61,64,220};
unsigned char * enc_out = malloc(80*sizeof(char));
AES_KEY enc_key;
AES_set_encrypt_key(key, 128, &enc_key);
AES_encrypt(originalString, enc_out, &enc_key);
encryptedString = malloc(80*sizeof(char));
strcpy(encryptedString, enc_out);
free(enc_out);
Вот мой процесс дешифровки ребенок
//gets encryptedString as parameter argv[2] from main and it is ok
//gets originalString as argv[1] from main and it is ok
//minkeyspace and maxkeyspace calculated and they are ok
unsigned char *encryptedString;
AES_KEY dec_key;
unsigned char key[8] = {4,1,8,9,1,61,64, 0};
unsigned char * dec_out = malloc(80*sizeof(char));
for(j = minkeyspace; j < maxkeyspace ; j++){
key[7] = j;
AES_set_decrypt_key(key,128,&dec_key);
AES_decrypt(encryptedString, dec_out, &dec_key);
if(strcmp(originalString, dec_out) == 0){ //They are not equal. There is a problem
puts("FOUND");
}
}
Пожалуйста, помогите мне.
, который решил это! Благодаря... – gesirdekatwork