开源工具 DotnetRSA 快速生成和转换RSA秘钥
一.简介
DotnetRSA 是一个利用 .NET Core 2.1 开发的 .NET Global Tool,是可以想npm全局安装一样,安装在你的系统中,只需敲一行命令便可以快速生成RSA加密算法所需的秘钥,目前支持三种格式的秘钥,分别为:xml、pkcs1、pkcs8。它还支持三种格式秘钥的相互转换。
二.安装
使用 DotnetRSA 需要你的系统具备.NET Core >=2.1 的环境,若没有请访问官网,按照提示进行安装:https://www.microsoft.com/net/learn/get-started/windows
输入一句命令便可以安装:
dotnet tool install -g dotnetrsa
安装成功会有如下提示:
同时输入命令 dotnetrsa
会出现如下提示:
三.使用
1.生成秘钥
生成秘钥使用命令 dontetrsa gen
,加入 -h
获取帮助:
Generate xml, pkcs1, pkcs8 keys.
Usage: dotnetrsa gen [options]
Options:
-h|--help Show help information
-f|--format Required.Gen keys's format.The value must be xml, pkcs1 ,pkcs8.
-s|--size <int> Key Size.Default 2048.
--pem Pem Format. true of false.Default false.
-o|--output <path> File output path.If you do not specify it will be output in the current directory.
-f 或者 --format:指需要生成的格式,可以为 xml、pkcs1、pkcs8
-s 或者 --size :指需要生成的秘钥长度,默认为2048
--pem :只是否带有pem格式,值为 true 或者 false,默认为 false
-o 或者 --output :指秘钥保存的路径,默认保存在当前文件夹
生成一个长度为2048的xml格式的秘钥示例:
dotnetrsa gen -s 2048 -f xml
2.转换秘钥
转换秘钥使用命令 dontetrsa convert ,加入
-h` 获取帮助:
Usage: dotnetrsa convert [arguments] [options]
Arguments:
KeyFilePath Required.Secret key file path.
Options:
-h|--help Show help information
-f|--from <format> Required.Source format.The value must be xml, pkcs1,pkcs8.
-t|--to <format> Required.Target format.The value must be xml, pkcs1,pkcs8.
-k Required.Key type.The value must be pri, pub.'pub' represents the public key.
-o|--output <path> File output path.If you do not specify it will be output in the current directory.
KeyFilePath:指定被转换的秘钥的路径
-f 或者 --from :该字段为必须指定,指被转换的秘钥的格式,值只能为 xml、pkcs1、pkcs8
-t 或者 --to:该字段为必须指定,指需要转换的目标格式,值只能为 xml、pkcs1、pkcs8
-k :指被转换的秘钥的类型,公钥或者私钥,值只能为 pri 或者 pub ,分别代表公钥和私钥
-o :转换的秘钥的输出路径,默认为当前目录
将一个格式为xml的私钥转换为pkcs1,示例:
dotnetrsa convert c:\xml_private.key -f xml -t pkcs1 -k pri
四.参考资料
DotnetRSA 生成和转换秘钥使用了开源项目 RSAUtil :https://github.com/stulzq/RSAUtil
DotnetRSA 的开源地址:https://github.com/stulzq/dotnetrsa
开源工具 DotnetRSA 快速生成和转换RSA秘钥的更多相关文章
- 多个git账户生成多份rsa秘钥实现多个账户同时使用配置
下文分享一个多个git账户生成多份rsa秘钥实现多个账户同时使用配置例子了,这个例子非常的好用对于有多个git的朋友有不小的帮助. 使用过git的童鞋应该对id_rsa秘钥不陌生,总得用github吧 ...
- 使用代码生成工具Database2Sharp快速生成工作流模块控制器和视图代码
在前面随笔<基于Metronic的Bootstrap开发框架--工作流模块功能介绍>和<基于Metronic的Bootstrap开发框架--工作流模块功能介绍(2)>中介绍了B ...
- C#反射实现 C# 反射 判断类的延伸类型 使用代码生成工具Database2Sharp快速生成工作流模块控制器和视图代码 C# ADO.NET的SqlDataReader对象,判断是否包含指定字段 页面中添加锚点的几种方式 .net 简单实用Log4net(多个日志配置文件) C# 常用小点
C#反射实现 一.反射概念: 1.概念: 反射,通俗的讲就是我们在只知道一个对象的内部而不了解内部结构的情况下,通过反射这个技术可以使我们明确这个对象的内部实现. 在.NET中,反射是重要的机制, ...
- vulcanjs 开源工具方便快速开发react graphql meteor 应用
vulcan 开源工具方便快速开发react graphql meteor 应用 操作环境mac os 安装 meteor 安装(此安装有点慢,可以通过正确上网解决) curl https://ins ...
- 一台电脑存放多个git账户的多个rsa秘钥
未命名.html div.oembedall-githubrepos{border:1px solid #DDD;border-radius:4px;list-style-type:none;marg ...
- 利用SHA-1算法和RSA秘钥进行签名验签(带注释)
背景介绍 1.SHA 安全散列算法SHA (Secure Hash Algorithm)是美国国家标准和技术局发布的国家标准FIPS PUB 180-1,一般称为SHA-1.其对长度不超过264二进制 ...
- 一台电脑存放多个git账户的多个rsa秘钥(转)
如何在一个电脑上存储多个git账户生成的多份rsa秘钥,实现多个账户同时使用配置的情况?今天,不幸又再次遇到这个问题. 问题描述 公司最近在开发一款开源产品,项目被托管在github上,但是公司内部一 ...
- Git生成公钥.pub 及秘钥 命令
Git生成公钥.pub 及秘钥 命令 ssh-keygen -t rsa -C "******@qq.com" 将.pub公钥里面内容复制到github或者将这文件交给git管理员 ...
- 代码生成工具更新--快速生成Winform框架的界面项目
在之前版本的代码生成工具Database2Sharp中,由于代码生成都是考虑Winform和Web通用的目的,因此Winform界面或者Web界面都是单独生成的,在工具中生成相应的界面后,复制到项目里 ...
随机推荐
- Kotlin入门(27)文件读写操作
Java的文件处理用到了io库java.io,该库虽然功能强大,但是与文件内容的交互还得通过输入输出流中转,致使文件读写操作颇为繁琐.因此,开发者通常得自己重新封装一个文件存取的工具类,以便在日常开发 ...
- Python介绍及环境搭建
摘自http://www.cnblogs.com/sanzangTst/p/7278337.html Python零基础学习系列之二--Python介绍及环境搭建 1-1.Python简介: Py ...
- 介绍一个比较了各种浏览器对于HTML5 等标准支持程度的网站
可以选择浏览器种类,版本,比较的功能 网站地址:https://caniuse.com/#comparison
- Linux: 软件包管理之rpm与yum [转]
软件包的安装和卸载时很平常的事,但在Linux上面却不简单..Linux的其中一个哲学就是一个程序只做一件事,并且做好.组合小程序来完成复杂的任务,这样做有很多好处,但是各个小程序之间往往会存在着复杂 ...
- 【PAT】B1012 数字分类
注意逻辑的描述,只要认真看题,就能做对,如果自己结果一直不正确,请仔细推一下样例结果 #include<stdio.h> int arr[1005]; int main(){ int N, ...
- 了解 IP 地址,默认网关,子网掩码,DNS 的概念和作用。
DNS(Domain Name System):域名解析服务器,在 Internet 上域名与 IP 地址一一对应,域名便于人记忆,但是机器只认识 IP 地址,他们之间的转换工作称为 ‘域名解析’,域 ...
- ZooKeeper Administrator's Guide A Guide to Deployment and Administration(吃别人嚼过的馍没意思,直接看官网资料)
Deployment System Requirements Supported Platforms Required Software Clustered (Multi-Server) Setup ...
- 查看linux中的TCP连接数
一.查看哪些IP连接本机 netstat -an 二.查看TCP连接数 1)统计80端口连接数netstat -nat|grep -i "80"|wc -l 2)统计httpd协议 ...
- DefaultNamespaceHandlerResolver中handlerMappings如何初始化
前言:最近一直在看Spring源码,今天在调试的时候发现一个小问题:在注册bean时,需要初始化spring默认命名空间处理器,具体在DefaultNamespaceHandlerResolver中实 ...
- php面试题整理(四)
应该是group by username }