一.OpenSSL的机理
1.openssl软件包包含三个组件:
- libcrypto:实现加密的,它是一个库文件,可以被别的服务所调用。
- libssl:提供ssl支持的。建立ssl会话的。
- openssl:多功能的命令行工具。手动实现加密解密,生成证书,签发证书。
2.目前在Linux上能实现对称加密的工具有两个:
- gpg (3DES,CAST5,Blowfish)
- openssl enc
openssl支持的子命令非常的多:
ca:生成证书。
enc:实现加密的。
genrsa:生成rsa**对。
二.查看OpenSSL的版本信息
- 使用选项:version
2.查看详细信息:-a
三.查看OpenSSL所支持的参数:
ciphers
四.测试速度
测试OpenSSL某一加密算法速度:speed
注:如果不指明,它将计算其下的所有加密算法的速度。
五.加密的使用
- 对称加密
OpenSSL对文件加密
格式:
-des3:表示一种算法。
-salt:表示送去一个随机值。
-in :要加密的文件。
-out:加密后的文件。
例如:对fstab加密
注:因为是对称加密,所以还有输入密码。
加-d就表示解密
我们diff命令对比一下加密前的文件和解密后的文件有什么不同没有。
注:没有结果,表示文件时一致的。
2.单项加密
单向加密的算法有:
格式:
dgst:让OpenSSL支持单向加密。
-sha1:一种单向加密算法。
- md5sum的使用方法:md5sum +文件名
注:因为fstab和fstab2文件一样,所以他们提取特征码的加密结果是一样的。
- sha1算法
注:两次的结果是一样的。第一种是直接使用sha1算法,第二种是通过OpenSSL使用sha1算法的。
- OpenSSL还有一种简单用法
注:结果和前边的一样的。
- 用OpenSSL生成用户密码。
注:-1表示都是使用MD5算法,只要输入的密码一样,虽然结果不一样,但都是表示同意密码,可以相互替换的。
它的加密结果之所以不一样是因为这样算法加入了随机数。
转载于:https://blog.51cto.com/rhlinux/364810