代码如下。网页在线可以解出明文为 123456789,但我用 openssl 库却解不出来,困扰一天了,有没有人能解答一下。(密钥是某个字符串的 md5 值,用这个密钥自己加密解密是没问题的,就是加密出来的密文跟代码中的密文不一样就是了。感觉是密钥转换有问题,但是就是不知道问题出在哪里。)
int main(void)
{
AES_KEY aes;
char *key = "417490bbe32b07f6ee822f668a999046"; // 密钥
unsigned char key_hex[16] = {0};
char *ciphertext = "fcdcf51343011f7383e8e2aa1160d9d4"; // 密文
unsigned char cipher_hex[32] = {0};
char plaintext[32] = {0}; // 明文
int len = 0;
// 设置 key
StrToHex(key_hex, key, 16);
AES_set_encrypt_key(key_hex, 128, &aes);
// 解密
StrToHex(cipher_hex, cipher, 16);
AES_ecb_encrypt(cipher_hex, plaintext, &aes, AES_DECRYPT);
}
int main(void)
{
AES_KEY aes;
char *key = "417490bbe32b07f6ee822f668a999046"; // 密钥
unsigned char key_hex[16] = {0};
char *ciphertext = "fcdcf51343011f7383e8e2aa1160d9d4"; // 密文
unsigned char cipher_hex[32] = {0};
char plaintext[32] = {0}; // 明文
int len = 0;
// 设置 key
StrToHex(key_hex, key, 16);
AES_set_encrypt_key(key_hex, 128, &aes);
// 解密
StrToHex(cipher_hex, cipher, 16);
AES_ecb_encrypt(cipher_hex, plaintext, &aes, AES_DECRYPT);
}
凉凉