OpenSSL加解密算法使用方法

下面简单记录一下 Linuxopenssl命令的使用方法,包括 OpenSSL中加解密算法的使用方法和性能测试方法,以便让新手朋友们能快速用起来。持续更新中 ...

  1. sm3算法
bash 复制代码
$ openssl sm3 /tmp/1.txt 
SM3(/tmp/1.txt)= baafadbe43559b7043abd1682a4e12be05692cae1756e4f61f27225735d77945
  1. 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.
  1. 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
// 同上,略
  1. 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 
// 同上,略
  1. 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
  1. md5算法
bash 复制代码
$ openssl md5 /tmp/1.txt 
MD5(/tmp/1.txt)= a584a33ec999918487e80e4b8f1f03f1
  1. 性能测试
  • 涵盖大多数加解密算法的性能测试
bash 复制代码
$ openssl speed 
  • 直接指定某个算法的性能测试(部分算法支持)
bash 复制代码
$ openssl speed md5
  • 通过 -evp指定某个算法的性能测试(部分算法支持)
bash 复制代码
$ openssl speed -evp aes-192-cbc
相关推荐
June bug16 小时前
【软考中级·软件评测师】下午题·面向对象测试之架构考点全析:分层、分布式、微内核与事件驱动
经验分享·分布式·职场和发展·架构·学习方法·测试·软考
API开发11 天前
苹果芯片macOS安装版Homebrew(亲测) ,一键安装node、python、vscode等,比绿色软件还干净、无污染
vscode·python·docker·nodejs·openssl·brew·homebrew
郝同学的测开笔记11 天前
从 "不支持的URL" 错误谈 IPv6 兼容性与 HTTPDNS 优化
测试
chao_78913 天前
作为测试人员,平时用什么大模型?怎么用?
面试·大模型·测试
码农不惑14 天前
Rust使用tokio(二)HTTPS相关
https·rust·web·openssl
chao_78915 天前
死锁相关知识
网络协议·游戏·测试·死锁
cooldream200915 天前
pytest 框架详解与实战指南
pytest·测试
大话性能15 天前
使用Python进行GRPC和Dubbo协议的高级测试
测试
和我乘风破浪16 天前
iOS自动化录屏在Chrome浏览器打不开处理方法
python·测试
Apifox17 天前
Apifox SEO 设置全解析:让你的 API 文档更容易被搜到
前端·后端·测试