有没有办法将4字节数表示为16字节数?

时间:2014-01-24 00:34:58

标签: c libgcrypt

使用4字节IV加密某些数据。但是,我使用的加密算法(AES128)需要一个16字节(128位)密钥。说,我的代码如下:

#include<gcrypt.h>
void encrypt(){
    int IV = 6174;
    gcry_cipher_hd_t hd;        
    errStatus = gcry_cipher_open(&hd, GCRY_CIPHER_AES128, GCRY_CIPHER_MODE_CBC, 0);
    errStatus = gcry_cipher_setkey(hd, keyBuffer, 16);
    gcry_cipher_setiv(hd, &IV, 16);
    gcry_cipher_encrypt(hd, output, 16, bytesToEncrypt, 16);
}

Say keyBuffer包含一个16字节的密钥,bytes, output`分别是我的输入和输出。我该如何正确地给出IV?

1 个答案:

答案 0 :(得分:0)

您是否可以尝试此代码以避免缓冲区溢出?我自己没有测试过,但是

int IV[4] = { 6174 }; // { 6174, 0, 0, 0 }