- 62
- 0
string cert = @"D:\XXXXX\private2312.pfx"; X509Certificate2 prvcrt = new X509Certificate2(cert, "123456", X509KeyStorageFlags.Exportable); RSACryptoServiceProvider pubkey = (RSACryptoServiceProvider)prvcrt.PublicKey.Key; RSACryptoServiceProvider prvkey = (RSACryptoServiceProvider)prvcrt.PrivateKey; var str_1 = "asdfghjklqwertyu"; byte[] dataToEncrypt_1 = ByteConverter.GetBytes(str_1); encryptedData = RSAEncrypt(dataToEncrypt_1, prvkey.ExportParameters(true), false); var encryptedData2 = RSAEncrypt(dataToEncrypt_1, prvkey.ExportParameters(true), false); var data_1 = Convert.ToBase64String(encryptedData); var data_2 = Convert.ToBase64String(encryptedData2); static public byte[] RSAEncrypt(byte[] DataToEncrypt, RSAParameters RSAKeyInfo, bool DoOAEPPadding) { try { byte[] encryptedData; //Create a new instance of RSACryptoServiceProvider. using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider()) { //Import the RSA Key information. This only needs //toinclude the public key information. RSA.ImportParameters(RSAKeyInfo); //Encrypt the passed byte array and specify OAEP padding. //OAEP padding is only available on Microsoft Windows XP or //later. encryptedData = RSA.Encrypt(DataToEncrypt, DoOAEPPadding); } return encryptedData; } //Catch and display a CryptographicException //to the console. catch (CryptographicException e) { Console.WriteLine(e.Message); return null; } }
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
小岛西岸来信 普通会员 1楼
在C#中,RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,用于加密数据。使用RSA加密数据时,私钥是密钥的一部分,而公钥是公共的部分。私钥用于加密数据,公钥用于解密数据。
如果你在多次加密时发现结果不一致,可能有以下几个原因:
-
你的公钥没有正确生成:公钥生成是一个复杂的过程,需要考虑多种因素,包括质数、随机数等。如果你的公钥没有正确生成,那么加密后的数据可能会有不一致的解密结果。
-
你的私钥被破解:如果你的私钥被破解,那么所有的加密数据都会被解密,这可能导致结果的不一致。
-
加密算法问题:如果你使用的加密算法有问题,例如加密算法选择不当、加密算法版本过旧等,那么加密后的数据可能会有不一致的解密结果。
解决这个问题的方法是:
-
保证公钥生成的正确性:确保公钥生成过程的正确性,例如使用随机数生成器来生成质数和随机数等。
-
更新私钥:如果你的私钥被破解,那么你应该更新私钥,使用新的公钥来加密数据。
-
使用安全的加密算法:选择一个安全的加密算法,例如RSA的最新版本,来加密数据。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

