下面简单记录一下 Linux
上openssl
命令的使用方法,包括 OpenSSL
中加解密算法的使用方法和性能测试方法,以便让新手朋友们能快速用起来。持续更新中 ...
sm3
算法
bash
$ openssl sm3 /tmp/1.txt
SM3(/tmp/1.txt)= baafadbe43559b7043abd1682a4e12be05692cae1756e4f61f27225735d77945
sm4
算法
- 加密
bash
$ openssl enc -e -sm4 -in /tmp/1.txt -out /tmp/2.txt
enter sm4-cbc encryption password: // 输入密码
Verifying - enter sm4-cbc encryption password: // 确认密码
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.
- 解密
bash
$ openssl enc -d -sm4 -in /tmp/2.txt -out /tmp/3.txt
enter sm4-cbc decryption password: // 输入密码
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.
aes
算法
- 加密
bash
$ openssl enc -e -aes-192-cbc -in /tmp/1.txt -out /tmp/2.txt
// 同上,略
- 解密
bash
$ openssl enc -d -aes-192-cbc -in /tmp/2.txt -out /tmp/3.txt
// 同上,略
chacha20
算法
- 加密
bash
$ openssl enc -e -chacha20 -in /tmp/1.txt -out /tmp/2.txt
// 同上,略
- 解密
bash
$ openssl enc -d -chacha20 -in /tmp/2.txt -out /tmp/3.txt
// 同上,略
sha1/sha256/sha512
算法
bash
$ openssl sha1 /tmp/1.txt
SHA1(/tmp/1.txt)= 62543ffdd5e3848b807b4c3c3df08b31edf56169
$ openssl sha256 /tmp/1.txt
SHA256(/tmp/1.txt)= a85ddf33aac0a8fd08dcf20bee998d87ac03d44eafbc3c8323f69179201476b5
$ openssl sha512 /tmp/1.txt
SHA512(/tmp/1.txt)= 3cba0f9f05e7a63602d9cbd531c96c0deb363f1dd95d0522633b84b002f3188815559aba5abfd76adc53de9dc529bcf69273b8ecca6b785f6802e421c9626a57
md5
算法
bash
$ openssl md5 /tmp/1.txt
MD5(/tmp/1.txt)= a584a33ec999918487e80e4b8f1f03f1
- 性能测试
- 涵盖大多数加解密算法的性能测试
bash
$ openssl speed
- 直接指定某个算法的性能测试(部分算法支持)
bash
$ openssl speed md5
- 通过
-evp
指定某个算法的性能测试(部分算法支持)
bash
$ openssl speed -evp aes-192-cbc