XC.Framework.Security.RSAUtil
1.0.0
See the version list below for details.
dotnet add package XC.Framework.Security.RSAUtil --version 1.0.0
NuGet\Install-Package XC.Framework.Security.RSAUtil -Version 1.0.0
<PackageReference Include="XC.Framework.Security.RSAUtil" Version="1.0.0" />
<PackageVersion Include="XC.Framework.Security.RSAUtil" Version="1.0.0" />
<PackageReference Include="XC.Framework.Security.RSAUtil" />
paket add XC.Framework.Security.RSAUtil --version 1.0.0
#r "nuget: XC.Framework.Security.RSAUtil, 1.0.0"
#:package XC.Framework.Security.RSAUtil@1.0.0
#addin nuget:?package=XC.Framework.Security.RSAUtil&version=1.0.0
#tool nuget:?package=XC.Framework.Security.RSAUtil&version=1.0.0
RSAUtil
.NET Core RSA algorithm using the help tool.It supports data encryption, decryption, signature and verification signature.It supports three key formats, namely: xml, pkcs1, pkcs8.It also supports key conversion for these three formats.Last also support pem formatting.
Doc
Generate the key
Use class
RsaKeyGenerator.The result returned is a list of two-element strings,Element 1 is the private key and element 2 is the public key.
Format: XML
var keyList = RsaKeyGenerator.XmlKey(2048);
var privateKey = keyList[0];
var publicKey = keyList[1];
Format: Pkcs1
var keyList = RsaKeyGenerator.Pkcs1Key(2048);
var privateKey = keyList[0];
var publicKey = keyList[1];
Format: Pkcs8
var keyList = RsaKeyGenerator.Pkcs8Key(2048);
var privateKey = keyList[0];
var publicKey = keyList[1];
RSA key conversion
Use class
RsaKeyConvert.It supports key conversion for these three formats,namely: xml, pkcs1, pkcs8.
XML->Pkcs1:
- Private Key :
RsaKeyConvert.PrivateKeyXmlToPkcs1() - Public Key :
RsaKeyConvert.PublicKeyXmlToPem()
XML->Pkcs8:
- Private Key :
RsaKeyConvert.PrivateKeyXmlToPkcs8() - Public Key :
RsaKeyConvert.PublicKeyXmlToPem()
Pkcs1->XML:
- Private Key :
RsaKeyConvert.PrivateKeyPkcs1ToXml() - Public Key :
RsaKeyConvert.PublicKeyPemToXml()
Pkcs1->Pkcs8:
- Private Key :
RsaKeyConvert.PrivateKeyPkcs1ToPkcs8() - Public Key : No conversion required
Pkcs8->XML:
- Private Key :
RsaKeyConvert.PrivateKeyPkcs8ToXml() - Public Key :
RsaKeyConvert.PublicKeyPemToXml()
Pkcs8->Pkcs1:
- Private Key :
RsaKeyConvert.PrivateKeyPkcs8ToPkcs1() - Public Key : No conversion required
Encrypt, decrypt, sign, and verify signatures
XML, Pkcs1, Pkcs8 respectively corresponding categories:
RsaXmlUtil,RsaPkcs1Util,RsaPkcs8Util.They inherit from the abstract classRSAUtilBase
- Encrypt:
RSAUtilBase.Encrypt() - Decrypt:
RSAUtilBase.Decrypt() - Sign:
RSAUtilBase.SignData() - Verify:
RSAUtilBase.VerifyData()
PEM formatting
Use class
RsaPemFormatHelper.
- Format Pkcs1 format private key:
RsaPemFormatHelper.Pkcs1PrivateKeyFormat() - Remove the Pkcs1 format private key format:
RsaPemFormatHelper.Pkcs1PrivateKeyFormatRemove() - Format Pkcs8 format private key:
RsaPemFormatHelper.Pkcs8PrivateKeyFormat() - Remove the Pkcs8 format private key format:
RsaPemFormatHelper.Pkcs8PrivateKeyFormatRemove()
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- BouncyCastle.Crypto (>= 1.0.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on XC.Framework.Security.RSAUtil:
| Package | Downloads |
|---|---|
|
Ding.Encryption
Ding.Encryption是基于.net core平台开发的应用框架中的加密操作类库。 |
|
|
QMHS
Package Description |
|
|
WSNet
Package Description |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on XC.Framework.Security.RSAUtil:
| Repository | Stars |
|---|---|
|
dotnetcore/Alipay.AopSdk.Core
支付宝(Alipay)服务端SDK,采用.NET Standard 2.0,支持.NET Core >=2.0,与官方SDK接口完全相同。完全可以按照官方文档进行开发。除了支持支付以外,官方SDK支持的功能本SDK全部支持,比如生活号、服务窗、行业合作等,且用法几乎一样,代码都可参考官方文档代码。
|
|
|
feiyit/FytSoaCms
NetCore2.2开发, Vs2017 数据Mysql
|