openssl
组件:
libcrypto, libssl主要开发者使用;
openssl: 多用途命令行工具;
openssl:
从多子命令 分为三类:
标准命令:
消息摘要命令(dgst子命令)
加密命令(enc子命令)
对称加密:
工具:openssl enc
支持的算法:3des,aes,blowfish,towfish
加密命令
enc命令:
实例:
加密~]# openssl enc -e -des3 -a -salt -in fstab -out fstab.ciphertext
解密~]# openssl enc -d -des3 -a -salt -out fstab -in fstab.ciphertext
单向加密:
工具:openssl dgst, md5sum, sha1sum, sha224sum,....
dgst命令:
~]# openssl dgst -md5 fstab
MD5(fstab)= f24b68951add3236d19dff63f0c92206
生成用户密码:
工具: passwd, openssl passwd
~]#openssl passwd -1 -salt 随机数(123456789)
实例:
[root@localhost ~]# openssl passwd -1 -salt $(openssl rand -hex 10)
Password:
$1$9727a8fa$Ir21xFr8gVZJFK1trPohf.
生成随机数:
工具:openssl rand
实例:
[root@localhost ~]# openssl rand -hex 10
8a7f0ab5316d5c0f2aba
[root@localhost ~]# openssl rand -base64 10
G8mVfr06RCHmhQ==
公钥加密:
加密解密:
算法:RSA, ELGamal
工具:openssl rsautl, gpg
数字签名:
算法:RSA, DSA,ELGamal
密钥交换:
算法:DH
生成密钥:
生成私钥: ~]# (umask 077; openssl genrsa -out /tmp/mykey.private 2048)
提出公钥:~]# openssl rsa -in /tmp/mykey.private -pubout
linux系统上的随机数生成器:
/dev/random:仅从