Mac环境简化RSA密钥生成/校验命令

文章目录

  • 生成RSA密钥对
  • 验证RSA密钥对

生成RSA密钥对

  • 正常RSA密钥对生成操作命令
openssl genrsa -out rsa_private_key.pem 2048
openssl rsa -pubout -in rsa_private_key.pem -out rsa_public_key.pem
  • 通过添加环境变量来简化RSA密钥对生成操作

设置环境变量.zshrc或.bash_profile

# 使用zsh终端
vim ~/.zshrc
  • 将下面shell脚本复制到.zshrc文件中
function myrsa() {if [ -z $1 ]; thenecho "请输入密钥名称"returnfi# 512位、1024位、2048位、3072位、4096位len=2048if [ -n "$2" ]; thenlen=$2fiprivateKey=$1"_rsa_private_key.pem"publicKey=$1"_rsa_public_key.pem"openssl genrsa -out $privateKey $lenopenssl rsa -pubout -in $privateKey -out $publicKeyecho $(pwd)echo $privateKeyecho $publicKey
}
source ~/.zshrc
  • 执行简化后的生成命令
# 终端输入生成RSA密钥对命令
myrsa test
  • 生成的RSA密钥
test_rsa_private_key.pem
test_rsa_public_key.pem

验证RSA密钥对

# 利用私钥生成 .pub 公钥
openssl rsa -pubout -in test_rsa_private_key.pem -out test_rsa_public_key.pub
# 校验文件内容是否一致
diff test_rsa_public_key.pub test_rsa_public_key.pem
# 使用zsh终端
vim ~/.zshrc
  • 将下面shell脚本复制到.zshrc文件中
function myrsadiff() {if [ -z $1 ]; thenecho "请输入RSA私钥文件名称"returnfiif [ -z $2 ]; thenecho "请输入RSA公钥文件名称"returnfiprivateKey=$1publicKey=$2publicKeyPub="${publicKey//.pem/.pub}"openssl rsa -pubout -in $privateKey -out $publicKeyPubif [ -z $(diff $publicKey $publicKeyPub) ]; thenecho "RSA密钥对匹配"fi
}
myrsadiff test_rsa_private_key.pem test_rsa_public_key.pem

注意 test_rsa_public_key.pem 文件中不要有多余空格,否则 diff 命令可能不准

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/814719.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实验6-1:求整数位数(循环结构)

实验6-1:求整数位数(循环结构) 输入一个不多于9位的正整数,要求一、逆序输出各位数字,二、输出它是几位数。【输入形式】 正整数【输出形式】 逆序输出各位数字 几位数 【样例输入】 234567891 【样例输出】 1 9 8 7 …

GPT演变:从GPT到ChatGPT

Transformer 论文 Attention Is All You Need The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder… https://arxiv.o…

Java基础常见知识点面试总结

文章目录 1. 变量、数据类型转换、运算符1.1 变量1.2 数据类型转换1.2.1强转的注意事项 1.3 进制的转换1.4 位运算符1.5 运算符1.6 三元运算符 2. 流程控制2.1 键盘录入_Scanner2.2 Random随机数2.3 switch(选择语句)2.4 分支语句2.5 循环语句 3. 数组3.1 数组的定义3.2 数组操…

乐趣Python——文件与数据:挥别乱糟糟的桌面

各位朋友们,今天我们要开启一场非凡的冒险——进入文件操作的世界!你知道吗,在你的电脑里,有一个叫做“文件系统”的迷宫,里面藏着各种各样的文件和文件夹,它们就像是迷宫中的宝藏。但有时候,这…

wpf下如何实现超低延迟的RTMP或RTSP播放

技术背景 我们在做Windows平台RTMP和RTSP播放模块对接的时候,有开发者需要在wpf下调用,如果要在wpf下使用,只需要参考C#的对接demo即可,唯一不同的是,视频流数据显示的话,要么通过控件模式,要么…

ARM-SC2440

1ARM 2ARM汇编指令集 2.1 2.1.1【MOV】 area reset, code, readonlycode32entrymov r0, #1end2.1.2【SUB】 area reset, code, readonlycode32entrymov r0, #0x02sub r1, r0, #1end2.1.3【ORR】 preserve8area reset, code, readonlycode32entrymov r0, #0X0Fmov r1, #2orr …

前端面试问题汇总 - 工程管理工具篇

1. webpack常用loader有哪些? babel-loader: 用于将 ES6 代码转换为向后兼容的 JavaScript 代码,以便在旧版本的浏览器中运行。css-loader: 用于加载 CSS 文件,并解析其中的 import 和 url 引用关系。style-loader&…

SpringMVC(一)【入门】

前言 学完了大数据基本组件,SpringMVC 也得了解了解,为的是之后 SpringBoot 能够快速掌握。SpringMVC 可能在大数据工作中用的不多,但是 SSM 毕竟是现在就业必知必会的东西了。SpringBoot 在数仓开发可能会经常用到,所以不废话学吧…

神经网络中的权重初始化

神经网络的权重初始化 从神经网络输入和输出尽量都要有相同的方差出发,但均值很难保持一致(由于有一些非负的激活函数)。而且现有的标准化策略也是起到了同样的作用,如BN,LN等,都是努力将中间层的输出的方…

Mapmost Alpha:开启三维城市场景创作新纪元

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

vue3中使用tailwind.css注意

中文官网 教程 使用PostCSS 注意!!! 成功的关键 vite配置 import tailwindcss from tailwindcssexport default defineConfig({// ...css: {postcss: {plugins: [tailwindcss,]}},// ... })

2024年4月8日腾讯云故障复盘及情况说明

2024年4月8日15点23分,腾讯云团队收到告警信息,云API服务处于异常状态;随即在腾讯云工单、售后服务群以及微博等渠道开始大量出现腾讯云控制台登录不上的客户反馈。 经过故障定位发现,客户登录不上控制台正是由云API异常所导致。云…

面试必备:3个技巧提升表达能力,轻松拿Offer!

在职场竞争中,面试是求职者迈向成功的重要一步。想要在众多竞争者中脱颖而出,获得面试官的青睐并拿下心仪岗位的offer,良好的表达能力不可或缺。今天,我们就一起探讨如何在面试中有效提升自己的表达能力,为成功铺路。 …

C语言如何生成随机数以及设置随机数的范围

一、随机数的生成 1.rand()函数 C语言提供了⼀个函数叫 rand,这函数是可以生成随机数的,函数原型如下所示: int rand (void); rand函数会返回⼀个伪随机数,这个随机数的范围是在0~RAND_MAX之间,这个RAND_MAX的大小是依…

c语言中声明的问题【求个关注!】

文章目录 1 变量的声明与定义(1)定义与声明的区别:(2)为什么要区分定义与声明?(3)extern是什么 ?(4)举例: 2 函数的声明:函数声明的格…

前端面试问题汇总 - 其他问题

1. 一个好的产品有哪些特性? 解决问题: 优秀的产品应该能够解决用户的真实问题或满足用户的需求,提供有价值的解决方案。用户体验: 产品应该具有良好的用户体验,包括界面设计、交互设计、易用性等方面,让用户能够舒适…

使用Docker定时备份数据

文章目录 一、Docker镜像制作二、MySQL数据备份三、Minio数据备份四、数据跨服务器传输五、Nginx日志分割六、Docker启动七、Docker备份日志 一、Docker镜像制作 镜像制作目录 mc下载地址 - rsyncd.conf # https://download.samba.org/pub/rsync/rsyncd.conf.5port 873 uid …

共享内存和Pytorch中的Dataloader结合

dataloader中通常使用num_workers来指定多线程来进行数据的读取。可以使用共享内存进行加速。 代码地址:https://github.com/POSTECH-CVLab/point-transformer/blob/master/util/s3dis.py 文章目录 1. 共享内存和dataloader结合1.1 在init中把所有的data存储到共享内…

Qt控件---布局管理类

文章目录 QVBoxLayout(垂直布局)QHBoxLayout(水平布局)QGridLayout(网格布局)拉伸 QFormLayout(表单布局)QSpacerItem(空白) QVBoxLayout(垂直布局…

Apache Doris 基于 Job Scheduler 实现秒级触发任务调度能力

作者|SelectDB 技术团队 在数据管理愈加精细化的需求背景下,定时调度在其中扮演着重要的角色。它通常被应用于以下场景: 定期数据更新,如周期性数据导入和 ETL 操作,减少人工干预,提高数据处理的效率和准…