您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
(nqdmq)-年级的妈妈4完整
公钥,数据,格式(nqdmq)-年级的妈妈4完整
发布时间:2020-12-06加入收藏来源:互联网点击:
.NET Core 不支持 RSA_NO_PADDING 填充
Key 模长=KeySize/8
以下是我测试整理出来的 .NET Core 支持的填充算法的支持的加密数据长度:
填充算法 最小 KeySize 最大加密数据长度 Pkcs1 512 模长-11 OaepSHA1 512 模长-42 OaepSHA256 1024 模长-66 OaepSHA384 1024 模长-98 OaepSHA512 2048 模长-130
RSAExtensions 已经封装好了分段加密,无需关心数据长度和模长的关系,使用方法如下:
var encrypt = rsa.EncryptBigData(data, 填充算法); //加密var decrypt = rsa.DecryptBigData(encrypt, 填充算法); //解密八. 数据加密与解密加密与解密主要使用两个方法:Encrypt 计算密文,Decrypt 根据密文解密
例:
var rsa = RSA.Create();var data = "aaa"var encrypt = rsa.Encrypt(Encoding.UTF8.GetBytes(data),RSAEncryptionPadding.Pkcs1); //加密rsa.Decrypt(encrypt, RSAEncryptionPadding.Pkcs1); //解密.NET 中的RSA仅支持 公钥加密,私钥解密
九. 数据签名与验签签名与验签使用两个方法:SignData 计算数据签名,VerifyData 验证数据签名。使用私钥签名,公钥验签。
例:
var rsa = RSA.Create();var data = "aaa"var sign = rsa.SignData(Encoding.UTF8.GetBytes(data), HashAlgorithmName.SHA1, RSASignaturePadding.Pkcs1); //签名rsa.VerifyData(Encoding.UTF8.GetBytes(data), sign, HashAlgorithmName.SHA1, RSASignaturePadding.Pkcs1); //验签十. 使用技巧1.密钥转换
从一种格式导入,使用另一种格式导出。
例:私钥PKCS#1转换为PKCS#8
var rsa = RSA.Create();rsa.ImportRSAPrivateKey(PKCS#1私钥,out _); //导入PKCS#1私钥rsa.ExportPkcs8PrivateKey() //导出为PKCS#8私钥2.私钥导出公钥
var rsa = RSA.Create();rsa.ImportRSAPrivateKey(PKCS#1私钥,out _); //导入PKCS#1私钥rsa.ExportRSAPublicKey(); //导出私钥3.PKCS#8 加密私钥去密码
var rsa = RSA.Create();rsa.ImportEncryptedPkcs8PrivateKey(password,paivateKey); //导入加密私钥rsa.ExportPkcs8PrivateKey(); //导出无密码私钥4.通过命令行生成转换Key
开源工具 DotnetRSA 快速生成和转换RSA秘钥十一. 常见错误报错代码:var rsa = RSA.Create(256);
异常:
Unhandled exception. System.Security.Cryptography.CryptographicException: Specified key is not a valid size for this algorithm.解决:KeySize不够,增加 KeySize大小
报错代码:rsa.Encrypt
异常:
Unhandled exception. Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException: 参数错误。解决:KeySize不够,增加 KeySize大小或者数据过长,需要选择大数据分段加密
报错代码:rsa.Encrypt
异常:
Unhandled exception. System.Security.Cryptography.CryptographicException: The message exceeds the maximum allowable length for the chosen options (53).解决:数据过长,需要选择大数据分段加密
报错代码:rsa.Importxxxx导入Key
异常:
Unhandled exception. System.Security.Cryptography.CryptographicException: ASN1 corrupted data.解决:导入方法与Key格式不匹配,更换导入方法
原文地址:https://www.cnblogs.com/stulzq/p/12053976.html
本文到此结束,希望对大家有所帮助呢。
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |