作为参考并作为延续到后: how to use OpenSSL to decrypt Java AES-encrypted data?AES加密 - 密钥生成与OpenSSL的
我有以下几个问题。
我在C中使用OpenSSL库和编程来加密aes-cbc-128中的数据。 我得到任何输入二进制数据,我必须加密这一点。
我知道Java有一个CipherParameters接口来设置IV和KeyParameters。
有没有办法使用openSSL生成IV和密钥?总之,在C程序中如何使用openSSL的随机生成器来实现这些目的。你们中的任何人可以提供一些关于此的文档/示例/链接?
由于
关于“随机种子”的wiki快速阅读说,这是您提供的用于启动随机生成器的初始值。从Thomas Pornin的msg中,我看到OpenSSL从/ dev/urandom中选择了这个种子?在Linux上。然后如何设置它与RAND_seed(const void * buf,int num)??? – pimmling 2011-04-07 13:05:53
#include unsigned char rnd_seed =(unsigned char)time(NULL)); RAND_seed(rnd_seed,sizeof rnd_seed); 这个怎么样? –
pimmling
2011-04-07 13:59:41
@ pimmling:不,不,一千次不。 '时间(NULL)'不包含足够的熵 - 如果你这样做了,你的系统*将变得不安全。 – caf 2011-04-10 12:40:52