当前位置: 首页 > news >正文

openssl 加密(encrypt)、解密(decrypt)、签名(sign)、验证(verify)

一、使用openssl rsautl 进行加密、解密、签名、验证

[kyzjj@yyzc-zjjcs04 openssl]$ openssl rsautl --help
Usage: rsautl [options]
-in file        input file
-out file       output file
-inkey file     input key
-keyform arg    private key format - default PEM
-pubin          input is an RSA public
-certin         input is a certificate carrying an RSA public key
-ssl            use SSL v2 padding
-raw            use no padding
-pkcs           use PKCS#1 v1.5 padding (default)
-oaep           use PKCS#1 OAEP
-sign           sign with private key
-verify         verify with public key
-encrypt        encrypt with public key
-decrypt        decrypt with private key
-hexdump        hex dump output
-engine e       use engine e, possibly a hardware device.
-passin arg    pass phrase source
[kyzjj@yyzc-zjjcs04 openssl]$

二、使用私钥签名openssl rsautl -sign

[kyzjj@yyzc-zjjcs04 openssl]$ cat test
hello world
[kyzjj@yyzc-zjjcs04 openssl]$ openssl rsautl -sign  -inkey private.key  -in test -out sign-test
[kyzjj@yyzc-zjjcs04 openssl]$

三 、使用公钥验证openssl rsautl -verify

[kyzjj@yyzc-zjjcs04 openssl]$ openssl rsautl -sign  -inkey private.key  -in test -out sign-test
[kyzjj@yyzc-zjjcs04 openssl]$ openssl rsautl -verify  -inkey  public.key  -pubin    -in sign-test
hello world
[kyzjj@yyzc-zjjcs04 openssl]$

上述方式可以确认身份,如果我用这个公钥能解密,那一定是你发送的,因为私钥只有你有

四、使用公钥加密

[kyzjj@yyzc-zjjcs04 openssl]$ openssl rsautl -encrypt -inkey public.key -pubin -in test -out en-test
[kyzjj@yyzc-zjjcs04 openssl]$

五、使用私钥解密

[kyzjj@yyzc-zjjcs04 openssl]$ openssl rsautl -decrypt -inkey private.key -in en-test
hello world
[kyzjj@yyzc-zjjcs04 openssl]$

http://www.lryc.cn/news/140880.html

相关文章:

  • 视频云存储/安防监控视频AI智能分析网关V3:抽烟/打电话功能详解
  • 新版Jadx 加载dex报错 jadx.plugins.input.dex.DexException:Bad checksum 解决方法
  • win11+vmware17+centos7.9环境搭建
  • Unity Meta Quest MR 开发教程:(二)自定义透视 Passthrough【透视功能进阶】
  • vue3学习源码笔记(小白入门系列)------ 组件是如何渲染成dom挂载到指定位置的?
  • 【编码规范】从代码之丑聊代码规范
  • pytorch中的register_buffer
  • 【Java笔记】分布式id生成-雪花算法
  • STM32f103入门(2)流水灯蜂鸣器
  • Web Worker的使用
  • STM32 Cubemx配置串口收发
  • ndoe+mysql+express基础应用
  • 后端项目开发:集成日志
  • 20-GIT版本控制
  • 解决前后端交互Long类型精度丢失的问题
  • 回归预测 | MATLAB实现GA-ELM遗传算法优化极限学习机多输入单输出回归预测(多指标,多图)
  • SpringCloud学习笔记(九)_使用Java类加载SpringBoot、SpringCloud配置文件
  • 三次握手四次挥手之全连接半连接队列
  • Racknerd便宜高性价比服务器汇总
  • JavaScript 基础知识回顾与复习---关于this
  • Lua之Lua源文件批量转换为luac字节码文件
  • 简历V1.0问题合集 8/25-26
  • P1052 [NOIP2005 提高组] 过河
  • ArrayList和Vector及LinkedList的区别
  • HVV爆火漏洞:最新 WPS RCE (远程命令执行) 复现
  • 我的128天创作纪念日-东离与糖宝
  • 卷积神经网络——下篇【深度学习】【PyTorch】【d2l】
  • cas md5加密
  • [管理与领导-51]:IT基层管理者 - 8项核心技能 - 6 - 流程
  • 天翼物联、汕头电信与汕头大学共建新一代信息技术与数字创新(物联网)联合实验室