openssl命令行工具详解
(openssl的命令众多,请酌情处理与记忆)
在命令行输入:openssl asdf,可以显示openssl的命令说明
1:Standard commands(标准命令)
2:Message Digest commands(消息摘要命令)
3:Cipher commands(加密命令)
openssl对称加密
# 说明:enc 表示加密解密, -e表示指定加密算法,-des3表示使用des3加密算法,-salt表示加盐,-in表示指定加密的数据,-out表示指定加密后的数据保存到哪里
openssl enc -e -des3 -a -salt -in anaconda-ks.cfg -out ks.cfg
# 说明:-d表示解密,-in表示要解密的数据 -out表示解密的数据保存在哪里
openssl enc -d -des3 -a -salt -in ks.cfg -out new.cfg
openssl单向加密
openssl dgst -md5 new.cfg
openssl dgst -sha512 new.cfg
openssl passwd使用
# 说明: -1表示使用md5加密
openssl passwd -1 -salt 123456
openssl 生成随机字符
# 说明:-base64表示使用文本输出,100表示输出100个字节
openssl rand -base64 100
# 说明:-hex表示使用16进制输出,100表示输出100个字节
openssl rand -hex 100
openssl 生成密钥对
(对比 ssh-keygen -t rsa -P ""
)
# 生成512位的私钥,必须是2的次方,私钥必须是600权限
openssl genrsa 521 > private.key
或 openssl genrsa -out private.key 521
chmod 600 private.key
# 或者使用子shell命令,这样就不需要手动的修改权限了
(umask 077; openssl genrsa 521 > private1.key)
# 提取公钥
openssl rsa -in private1.key -pubout > pub.key