作爲參考並作爲延續到後: 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