OpenSSL加解密算法使用方法

下面简单记录一下 Linux上openssl命令的使用方法,包括 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
相关推荐
Lsetea1 天前
curl指定CA目录仍报证书不受信任:--capath与OpenSSL rehash排查
运维·https·ssl·openssl·curl
Zelman1 天前
测试金字塔与自动化分层
测试
Lsetea2 天前
OpenSSL报path length constraint exceeded:CA层级与pathlen排查
运维·https·ssl证书·openssl·证书链
柒和远方2 天前
LangSmith RAG 量化评估:从"感觉还行"到"数据说话"
langchain·llm·测试
Lsetea2 天前
OpenSSL s_client退出码为0却证书验证失败:严格校验与Shell管道排查
https·shell·ssl证书·openssl·tls
匠测AI说2 天前
AI for Testing 提效实战·测试设计(一):喂段需求给AI,30秒铺开测试点,防漏测的第一步
测试
Lsetea2 天前
OpenSSL报permitted subtree violation:证书SAN与CA名称约束排查
运维·https·ssl证书·openssl·证书链
EvalDock3 天前
同一道 Excel 任务,四款 Agent 的公式、修改范围与缓存有何不同?
人工智能·测试
Lsetea3 天前
OpenSSL verify报error 20:CAfile、fullchain与本地信任链分层排查
nginx·https·ssl证书·openssl·证书链