strlen(key_str)=13, sizeof(key_str)=4 Ces trois éléments indiquent que votre key_str et key_string sont exactement les mêmes.
Je soupçonne que c'est le problème ici AES_set_encrypt_key(key_string, 256, &key); Parce que votre clé ne fait que 13 octets de long, même 13*8 ne fait que 104 bits, donc les 256 que vous avez transmis sont une estimation Il s'agit de données incertaines accessibles hors limites C'est à cause de ces données incertaines que les clés sont différentes lors du cryptage et du déchiffrement, donc le décryptage est tronqué
strcmp(key_string, key_str) renvoie 0
strlen(key_string)=13, sizeof(key_string)=4
strlen(key_str)=13, sizeof(key_str)=4
Ces trois éléments indiquent que votre key_str et key_string sont exactement les mêmes.
Je soupçonne que c'est le problème ici
.AES_set_encrypt_key(key_string, 256, &key);
Parce que votre clé ne fait que 13 octets de long, même 13*8 ne fait que 104 bits, donc les 256 que vous avez transmis sont une estimation Il s'agit de données incertaines accessibles hors limites
C'est à cause de ces données incertaines que les clés sont différentes lors du cryptage et du déchiffrement, donc le décryptage est tronqué
Poussez-le vers le haut, ne le coulez pas !