内容摘要:enSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不应该只将其作为一个库来使用,它还是一个多用途的、跨平台的密码工具。
顺便说一下,那个hash值对应的密码是完全随机的基于64位字符编码的28位长,因此要破解它是非常困难的,但是请注意,不要用那些密码已经公布出来的hash值创建账号,如:
HXzNnCTo8k44k8v7iz4ZkR/QWkM2
密码和hash值象下面这样创建:
$ openssl rand 21 -base64
HXzNnCTo8k44k8v7iz4ZkR/QWkM2
$ openssl passwd -1 HXzNnCTo8k44k8v7iz4ZkR/QWkM2
这些例子使用MD5密码hash值,目前通用的linux系统都是这样,如果你需要使用旧的UNIX系统hash值,只需要去掉-1参数,例如:
$ openssl passwd
Password:
Verifying - Password:
xcx7DofWC0LpQ
最后这个密码hash值的密码是:TheLinux
密码基准测试
OpenSSL支持的许多算法使得它非常合适于密码基准测试,这对于比较相同硬件情况下不同算法的性能很有用,并且,它内置了一个基准测试命令。
openssl speed命令,默认情况下,在每个单独支持的模式和选项下运行每个单独的算法,使用不同的数据大小,不同的大小是重要的因为算法启动过头了。
完整运行speed需要花费大约6分钟时间,不考虑硬件的性能,产生29行摘要124行性能数据。
但是,注意加密算法的性能严重依赖特定的工具,对于高性能,OpenSSL在x86系统代码中有几个算法。其他结构如ia64,SPARC和x86-64,没有什么系统代码,没有列出的架构更没有了,系统代码放在OpenSSL源代码目录:crypto/*/asm,表2和表3节选了在3个不同的系统上的速度报告。
表2 hash和块密码性能(每秒使用1024字节块的数量是1000字节)

表3 公钥加密性能

学习更多
这仅仅是OpenSSL命令行功能的一个样本。在OpenSSL网站上有更多的文档,也有几个邮件列表提供技术支持。
OpenSSL使用c/c++编写的,但是它已经被移植到其他语言上去了,包括Ruby,而其,在2006年三月通过了FIPS140-2一级评估,使得OpenSSL称为一个新的在企业和政府加密领域的竞争者。
来源:51CTO 作者:黄永兵 责编:豆豆技术应用
- Django是否已经达到顶峰?
- GitHub:基于Rails的Git库托管
- Java 7的并行支持:Fork/Join
- Daemon Tools自甘堕落 强行驻留用户电脑
- 微软官方密码强度测试工具帮你测试密码是否强悍
- 专家详解Netfilter/iptables FAQ
- 史上最牛的三大病毒结局大盘点
- 黑客眼中的OpenSSL:强大的密码工具
- CISSP的成长之路(二十三):逻辑访问控制方案
- CISSP的成长之路(二十二):用户的生物特征