openssl的简单使用(开山篇)
程序员文章站
2022-07-04 14:12:57
...
一 对称加密
工具:gpg,openssl enc
算法:DES,DES3,AES,Blowfish,Twofish,RC6,idea,CAST5
加密使用的命令:
openssl enc -des3 -a -salt -in /path/from/somefile -out /path/to/somecipherfile
解密使用的命令:
openssl enc -d -des3 -a -salt -in /path/from/somecipherfile -out /path/to/somefile
选项说明:
-a base64 process the data,基于base64来处理数据。
-salt use a salt in the key derivation routines. This is the default. 加入一些盐值,这个是默认的。
-in 指定输入文件
-out 指定输出文件
二 单向加密
特性:
1、one-way:单向,不可逆
2、Collison-free:无冲突
算法:
1、md5:128bits
2、sha1:160bits
3、sha256:256bits
4、sha384:384bits
5、sha512:512bits
加密工具1:md5sum,sha1sum,openssl dgst,chsum
openssl dgst [-md5|-sha1] [-out /path/to/filename] /path/from/somefile
使用不同的工具用相同的加密算法加密后得到的特征码是一样的。
当用-out选项,也可以把特征码输出到指定的文件中。
加密工具2: openssl passwd
openssl passwd -1 -salt SALT(指定salt,一般用随机数)
-1 表示使用md5加密,是数字1。
执行如下命令:
[root@localhost ~]# openssl passwd -1 -salt 123456
Password:
$1$123456$cVybQG8XqIO61wU3euEah0
生产随机数工具:openssl rand
openssl rand -base64|-hex num
-hex Show the output as a hex string
通过生成随机数做salt,不需要每次都输入salt。
生成密钥工具:openssl genrsa
umask 077
openssl genrsa -out /path/to/keyfile NUMBEROFBITS
生产私钥,私钥应该是只有属主才有权限,所以生成私钥文件时应指定umask为077,创建的私钥文件权限就为600。
从私钥中抽取公钥工具:openssl rsa
openssl rsa -in /path/from/private_key_file -text -pubout