开源工具 DotnetRSA 快速生成和转换RSA秘钥

简介: DotnetRSA 是一个利用 .NET Core 2.1 开发的 .NET Global Tool,是可以想npm全局安装一样,安装在你的系统中,只需敲一行命令便可以快速生成RSA加密算法所需的秘钥,目前支持三种格式的秘钥,分别为:xml、pkcs1、pkcs8。它还支持三种格式秘钥的相互转换。

一.简介

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

安装成功会有如下提示:

image

同时输入命令 dotnetrsa 会出现如下提示:

image

三.使用

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

相关文章
如何使用命令生成RSA2密钥
说明:   本帖主要说明如何使用命令来生成RSA2密钥。    使用密钥工具生成RSA2密钥(推荐使用):    帖子地址:[url]https://openclub.alipay.com/read.
1812 12
|
移动开发 Java 数据安全/隐私保护
C#RSA加密解密签名类,支持PEM格式解密(1024或2048位)
主要介绍了PEM PKCS#8、PKCS#1公钥和私钥在C#中的使用,并以此为基础写的C#函数方法。
3349 1
|
8月前
|
算法 安全 物联网
全面了解AES加密:入门指南(二)
全面了解AES加密:入门指南
|
7月前
|
安全 网络安全 数据安全/隐私保护
非对称加密的日常实践应用:以RSA加密为例
**RSA加密简介与Python实现** RSA,一种非对称加密技术,基于大数因子分解,用于数据加密和完整性保护。本文介绍了RSA基本原理,包括密钥生成(选取大质数p和q,计算n和φ(n),选择公钥指数e和私钥指数d),并展示了使用Python `cryptography` 库生成密钥对、加密和解密消息的代码示例。通过这些步骤,读者可理解RSA在网络安全中的应用,如HTTPS和数字签名。
466 3
|
8月前
|
存储 安全 算法
全面了解AES加密:入门指南(一)
全面了解AES加密:入门指南
|
安全 数据安全/隐私保护
一分钟教会你如何使用Crypto模块RSA非对称加密,把重要的数据进行加密
随着互联网的迅速发展,信息安全变得尤为重要。数据加密是一个必不可少的环节。有时候,我们一不留神,可能数据就被人窃听到。今天跟大家分享一个数据加密的小案例。
287 0
|
存储 移动开发 前端开发
前后端RSA互相加解密、加签验签、密钥对生成(Java)
最近有一些安全性要求比较高的场景,我们提供API给第三方商户用于收单,其中有几个功能是绑卡、ATM/POS密码变更。
前后端RSA互相加解密、加签验签、密钥对生成(Java)
|
存储 算法 NoSQL
借助stl实现的简单且相对高性能的c++ rsa加密算法。1024位以内秘钥可以实现1s内生成,2048位5s内生成
借助stl实现的简单且相对高性能的c++ rsa加密算法。1024位以内秘钥可以实现1s内生成,2048位5s内生成
299 0
|
数据安全/隐私保护
rsa 生成密匙 ,密匙导出,加密解密封装
rsa 生成密匙 ,密匙导出,加密解密封装
210 0
|
JavaScript 前端开发 数据安全/隐私保护
js前端使用AES加解密及在线解密工具验证
js前端使用AES加解密及在线解密工具验证
770 0
js前端使用AES加解密及在线解密工具验证

热门文章

最新文章

相关实验场景

更多