一.简介

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秘钥的更多相关文章

  1. 多个git账户生成多份rsa秘钥实现多个账户同时使用配置

    下文分享一个多个git账户生成多份rsa秘钥实现多个账户同时使用配置例子了,这个例子非常的好用对于有多个git的朋友有不小的帮助. 使用过git的童鞋应该对id_rsa秘钥不陌生,总得用github吧 ...

  2. 使用代码生成工具Database2Sharp快速生成工作流模块控制器和视图代码

    在前面随笔<基于Metronic的Bootstrap开发框架--工作流模块功能介绍>和<基于Metronic的Bootstrap开发框架--工作流模块功能介绍(2)>中介绍了B ...

  3. C#反射实现 C# 反射 判断类的延伸类型 使用代码生成工具Database2Sharp快速生成工作流模块控制器和视图代码 C# ADO.NET的SqlDataReader对象,判断是否包含指定字段 页面中添加锚点的几种方式 .net 简单实用Log4net(多个日志配置文件) C# 常用小点

    C#反射实现   一.反射概念: 1.概念: 反射,通俗的讲就是我们在只知道一个对象的内部而不了解内部结构的情况下,通过反射这个技术可以使我们明确这个对象的内部实现. 在.NET中,反射是重要的机制, ...

  4. vulcanjs 开源工具方便快速开发react graphql meteor 应用

    vulcan 开源工具方便快速开发react graphql meteor 应用 操作环境mac os 安装 meteor 安装(此安装有点慢,可以通过正确上网解决) curl https://ins ...

  5. 一台电脑存放多个git账户的多个rsa秘钥

    未命名.html div.oembedall-githubrepos{border:1px solid #DDD;border-radius:4px;list-style-type:none;marg ...

  6. 利用SHA-1算法和RSA秘钥进行签名验签(带注释)

    背景介绍 1.SHA 安全散列算法SHA (Secure Hash Algorithm)是美国国家标准和技术局发布的国家标准FIPS PUB 180-1,一般称为SHA-1.其对长度不超过264二进制 ...

  7. 一台电脑存放多个git账户的多个rsa秘钥(转)

    如何在一个电脑上存储多个git账户生成的多份rsa秘钥,实现多个账户同时使用配置的情况?今天,不幸又再次遇到这个问题. 问题描述 公司最近在开发一款开源产品,项目被托管在github上,但是公司内部一 ...

  8. Git生成公钥.pub 及秘钥 命令

    Git生成公钥.pub 及秘钥 命令 ssh-keygen -t rsa -C "******@qq.com" 将.pub公钥里面内容复制到github或者将这文件交给git管理员 ...

  9. 代码生成工具更新--快速生成Winform框架的界面项目

    在之前版本的代码生成工具Database2Sharp中,由于代码生成都是考虑Winform和Web通用的目的,因此Winform界面或者Web界面都是单独生成的,在工具中生成相应的界面后,复制到项目里 ...

随机推荐

  1. Android为TV端助力 关于线程的那些事

    今天发现之前自己一直有个误区,new Runnable(run()方法){}原来它不是一定创建一个线程 如果用主线程的handler去post(Runnable),他就不会创建子线程,而是在主线程上执 ...

  2. <自动化测试方案书>方案书目录排版

    自动化测试方案书 一.介绍 QQ交流群:585499566 这篇是一个系列,用来给需要做自动化测试方案的人做个参考,文章的内容是我收集网上和自己工作经验所得,希望能够给你们有所帮助 背景:因为工作需要 ...

  3. mongodb安装失败与解决方法(附安装教程)

    安装mongodb遇到的一些坑 浪费了大量的时间 在此记录一下   主要是电脑系统win10企业版自带的防火墙  当然还有其他的一些坑 一般的问题在第6步骤都可以解决,本教程的安装步骤不够详细的话  ...

  4. Bayboy功能详解

    Bayboy功能详解 一.Badboy中的检查点 1.1以sogou.com搜索为例,搜索测试 步骤:打开Badboy工具,在地址栏中输入搜狗网址:输入 测试 进行搜索:点击红色按钮停止录制 1.2添 ...

  5. java笔记--对信号量Semaphore的理解与运用

    java Semaphore 信号量的使用: 在java中,提供了信号量Semaphore的支持. Semaphore类是一个计数信号量,必须由获取它的线程释放, 通常用于限制可以访问某些资源(物理或 ...

  6. webApi添加视图出现/Index.cshtml”处的视图必须派生自 WebViewPage 或 WebViewPage<TModel>。

    是因为webApi Views文件夹下缺乏web.config文件,从mvc项目相同目录拷贝一个web.Config文件放入 删除多余的namespaces 即可 web.config配置如下: &l ...

  7. c/c++ 数组的智能指针 使用

    数组的智能指针 使用 数组的智能指针的限制: 1,unique_ptr的数组智能指针,没有*和->操作,但支持下标操作[] 2,shared_ptr的数组智能指针,有*和->操作,但不支持 ...

  8. python中的猴子补丁Monkey Patch

    python中的猴子补丁Monkey Patch 什么是猴子补丁 the term monkey patch only refers to dynamic modifications of a cla ...

  9. burp抓取手机模拟器流量

    这里安装的是夜神模拟器,网络模式设置为桥接: 然后从burp suite 导出证书,存为.cer格式.将其导入手机模拟器(我用百度网盘导入的,自带的文件导入,不太会用,找不到放哪了) 然后给手机模拟器 ...

  10. Qt在多线程中使用信号槽的示例

    之前对线程理解得不深入,所以对Qt的线程机制没有搞清楚,今天写一篇文章总结一下,如有错误,欢迎指出. 首先需要理解线程是什么,线程在代码中的表现其实就是一个函数,只不过这个函数和主线程的函数同时运行, ...