openssl speed和openssl rand


openssl系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html


1.1 openssl speed

測試加密算法的性能。

支持的算法有:

openssl speed [md2] [mdc2] [md5] [hmac] [sha1] [rmd160] [idea-cbc] [rc2-cbc] [rc5-cbc] [bf-cbc] [des-cbc] [des-ede3] [rc4] [rsa512] [rsa1024] [rsa2048] [rsa4096] [dsa512] [dsa1024] [dsa2048] [idea] [rc2] [des] [rsa] [blowfish]

不過為什么沒有base64算法呢?

測試速度好幾秒一個指標,很慢。如果不指定參數將測試所有支持的算法,所以會花很久時間,我的虛擬機上花了十多分鍾才測試完所有的算法性能。

例如測試下,dsa512、rsa512和rsa2048加密速度如何。

[root@xuexi tmp]# openssl speed dsa512 rsa512 rsa2048
Doing 512 bit private rsa's for 10s: 107496 512 bit private RSA's in 9.99s
Doing 512 bit public rsa's for 10s: 1425095 512 bit public RSA's in 10.00s
Doing 2048 bit private rsa's for 10s: 4623 2048 bit private RSA's in 9.99s
Doing 2048 bit public rsa's for 10s: 153395 2048 bit public RSA's in 9.99s
Doing 512 bit sign dsa's for 10s: 102089 512 bit DSA signs in 10.00s
Doing 512 bit verify dsa's for 10s: 121654 512 bit DSA verify in 9.99s
                  sign    verify    sign/s verify/s
rsa  512 bits 0.000093s 0.000007s  10760.4 142509.5
rsa 2048 bits 0.002161s 0.000065s    462.8  15354.9
                  sign    verify    sign/s verify/s
dsa  512 bits 0.000098s 0.000082s  10208.9  12177.6

在10秒時間內,rsa512的私鑰處理107496單位,而rsa2048僅處理4623單位,慢了20多倍。

再看簽名性能,dsa算法只支持簽名不支持加密,而rsa支持加密也支持簽名。從上面的結果中可以看到rsa512的簽名速度為每秒10760.4,而dsa512的速度為10208.9,速度相差不大。

1.2 openssl rand

生成偽隨機數。

openssl rand [-out file] [-rand file(s)] [-base64] [-hex] num

選項說明:

-out:指定隨機數輸出文件,否則輸出到標准輸出。

-rand file:指定隨機數種子文件。種子文件中的字符越隨機,openssl rand生成隨機數的速度越快,隨機度越高。

-base64:指定生成的隨機數的編碼格式為base64。

-hex:指定生成的隨機數的編碼格式為hex。

num:指定隨機數的長度。

示例:

[root@xuexi tmp]# openssl rand -base64 30;openssl rand -hex 30;openssl rand 30
7Nsce908GnQ5vpDH7Ww44f5ayZxCI0C9MzxSuaLj
af3efb867af2ffa7b9fd2ebd8caa977fc8d26f8a01de86d7b3de8630a25e
9=@oxW[root@xuexi tmp]#  

可以看到,不指定-base64或-hex時生成的隨機數是亂碼隨機數(其實是2進制),且沒有\n符號。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM