如何使用C创建AES密钥?我喜欢使用C的rand函数创建一个伪随机128位密钥。我喜欢用特定的长数字来提供rand函数。我知道这不安全,我知道我会得到相同的#34;随机"每次都有号码!
到目前为止,这是我的代码:
#include <stdio.h>
#include <time.h>
int main(void)
{
time_t epoch = 1427863786;
printf("%d\n", rand((long)epoch));
}
知道我想使用随机数创建128位密钥。怎么样?谢谢!
答案 0 :(得分:1)
你甚至可以尝试这样的事情(假设这不安全的事实并没有打扰你):
unsigned char buf[16];
int i;
srand(time(NULL));
for (i = 0; i < sizeof(buf); i++) {
buf[i] = rand() % 256;
}
由于rand
返回int
(典型大小为4个字节),我怀疑如何通过对rand
的一次调用获得16个字节的数字。