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符号。

最新文章

  1. linux lin命令
  2. AutoIt3(AU3)开发的分辨率快速设置工具
  3. css3中的zoom元素属性值测试
  4. SQL Server session故障排查
  5. Linux下配置Java环境变量
  6. POJ2486 - Apple Tree(树形DP)
  7. python 代码格式化工具:pep8ify
  8. js跨域问题新方案
  9. chrome开发工具指南(二)
  10. Fork/Join-Java并行计算框架
  11. 12生成器,send,推导式
  12. 二、Sql Server 基础培训《进度2-关于主键(知识点学习)》
  13. c++——引用的使用
  14. OLAP和OLTP基础知识
  15. iis7错误提示An error occurred on the server when processing the URL...
  16. C 指针改变变量值
  17. SSM框架整合的详细过程(含每一步的分析及代码)。实质上是SpringMVC与mybatis的整合,应为spring与SpringMVC不需要整合。
  18. C# asp.net 实现导出Excel
  19. (转)java Exception层次结构详解
  20. Mongodb3.0 新增用户身份验证db.createUser()

热门文章

  1. js--sort()排序方法的使用--(笔记)
  2. AX_Currency
  3. # 2019-2020-3 《Java 程序设计》第四周总结
  4. sqlserver数据库创建快照发布遇到的错误:对路径“XXXX”访问被拒绝
  5. C++探究transform算法
  6. & 引用
  7. javascript(作业九)
  8. Nginx 教程
  9. 关于ASP.NET MVC 中JsonResult返回的日期值问题
  10. ASP.NET WebApi JObject 使用