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 bit private rsa's for 10s: 107496 512 bit private RSA's in .99s
Doing bit public rsa's for 10s: 1425095 512 bit public RSA's in .00s
Doing bit private rsa's for 10s: 4623 2048 bit private RSA's in .99s
Doing bit public rsa's for 10s: 153395 2048 bit public RSA's in .99s
Doing bit sign dsa's for 10s: 102089 512 bit DSA signs in 10.00s
Doing bit verify dsa's for 10s: 121654 512 bit DSA verify in 9.99s
sign verify sign/s verify/s
rsa bits .000093s .000007s 10760.4 142509.5
rsa bits .002161s .000065s 462.8 15354.9
sign verify sign/s verify/s
dsa bits .000098s .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 ;openssl rand -hex ;openssl rand
7Nsce908GnQ5vpDH7Ww44f5ayZxCI0C9MzxSuaLj
af3efb867af2ffa7b9fd2ebd8caa977fc8d26f8a01de86d7b3de8630a25e
=@oxW[root@xuexi tmp]#
可以看到,不指定-base64或-hex时生成的随机数是乱码随机数(其实是2进制),且没有\n符号。
openssl speed和openssl rand的更多相关文章
- 3.openssl speed和openssl rand
(1).openssl speed 测试加密算法的性能. 支持的算法有: openssl speed [md2] [mdc2] [md5] [hmac] [sha1] [rmd160] [idea-c ...
- (5) openssl speed(测试算法性能)和openssl rand(生成随机数)
1.1 openssl speed 测试加密算法的性能 支持的算法有: openssl speed [md2] [mdc2] [md5] [hmac] [sha1] [rmd160] [idea-cb ...
- Openssl speed命令
一.简介 speed命令用于测试库的性能 二.语法 openssl speed [md2] [mdc2] [md5] [hmac] [sha1] [sha256] [sha512] [whirlpoo ...
- php开启openssl的方法,openssl安装
php开启openssl的方法,openssl安装 2014年10月10日 8312次浏览 什么是openssl? 关于openssl,我说的不如百度百科齐全,还是看看百度百科的解释吧!http:// ...
- OpenSSL主配置文件openssl.cnf
虽说配置文件很多设置不用修改就能直接使用,但是了解它是配置openssl相关事项所必须的.而且要实现复杂多功能,必然要对配置相关了然于心. 1.man config 该帮助文档说明了openssl.c ...
- (12) OpenSSL主配置文件openssl.cnf
1.man config 该帮助文档说明了openssl.cnf以及一些其他辅助配置文件的规范.格式及读取方式.后文中的所有解释除非特别指明,都将以openssl.cnf为例. [root@local ...
- 6.openssl rsautl和openssl pkeyutl
rsautl是rsa的工具,相当于rsa.dgst的部分功能集合.可用于签名.验证.加密和解密文件.非对称密钥的密钥是随机生成的,因此不需要也无法指定salt参与加密. pkeyutl是非对称加密的通 ...
- ambari2.6.50 openssl 版本问题:SSLError: Failed to connect. Please check openssl library versions. Openssl error upon host registration
I'm trying to register hostnames in Ambari but getting the error below. We tried to run yum update o ...
- 【openssl】利用openssl完成X509证书和PFX证书之间的互转
利用openssl完成X509证书和PFX证书之间的互转 # OpenSSL的下载与安装: 1.下载地址: 官方网址—— https://www.openssl.org/source/ OpenSSL ...
随机推荐
- TensorFlow数据读取
TensorFlow高效读取数据的方法 TF Boys (TensorFlow Boys ) 养成记(二): TensorFlow 数据读取 Tensorflow从文件读取数据 极客学院-数据读取 十 ...
- Win7 VS2015编译wxWidgets-3.1.0
下载 https://www.wxwidgets.org/downloads/ 打开SLN工程 D:\CPPLibs\wxWidgets-3.1.0\build\msw\wx_vc14.sln 编译 ...
- 学以致用二十四-----shell脚本中的列表及space
1.接触列表的概念是在pyhon中,殊不知在shell中也是有列表的. 如: 结果 列表的下标和python中一样,也是以0开头 注意 list 和list2 的区别 一个是用括号括起来,一个是用 ...
- break语句和continue语句
1. break 语句 break语句只能用在switch语句中,其作用是跳出switch语句或跳出本层循环. 2. continue 语句 continue语句只能用在循环体中,用于结束本次循环,即 ...
- 微信公众号UX分析—— 学生作业小结
1. 不足: 1. 权威性:个人帐号,显得不够正式. 2. 排版问题: + 没有必要的外接端口,界面设计极度缺少排版.哪怕是个人公众号都不至于如此,更何况这是一个学校的教务平台. 3. 反应不及时或无 ...
- Interview Common Sample Codes
1. Quick Sort: int partition(int A[], int p, int r) { int x = A[r]; // Pivot element int i = p - 1; ...
- Android开发 - 掌握ConstraintLayout(四)创建基本约束
上一篇我们介绍了编辑器的基本使用,本文我们介绍创建基本的约束. "约束"表示View之间的位置关系.当我们在ConstraintLayout布局中创建View时,如果我们没有添加任 ...
- Java SE核心之一:常用类,包装类,其他基本数据类型包装类。
在Java继承体系中,java.lang.Object类位于顶端(是所有对象的直接或间接父类).如果一个类没有写extends关键字声明其父类,则该类默认继承java.lang.Object类.Obj ...
- typescript handbook 学习笔记1
概述 这是我学习typescript的笔记.写这个笔记的原因主要有2个,一个是熟悉相关的写法:另一个是理清其中一些晦涩的东西.供以后开发时参考,相信对其他人也有用. 学习typescript建议直接看 ...
- 音频科普---oggs
做为一个做音频的人,很多基础的东西还是要牢记的.最近一个客户用ogg格式的音频,感觉这个很陌生,就翻了这方面的 资料.好比是认识一个大牛,只有在你有一个困扰你很久的困难问题被他瞬间解决的时候,才知道什 ...