首页 > 编程语言 >c# RSA 要解密的数据超过此模块的最大值128/256字节

c# RSA 要解密的数据超过此模块的最大值128/256字节

时间:2024-07-30 18:30:21浏览次数:15  
标签:src c# RSA Length provider 128 byte 256 SIZE

 public string Decrypt()
 {
     var base64EncryptedData = "";
     string privateKey = @"<RSAKeyValue>....</RSAKeyValue>";
    
     RSACryptoServiceProvider provider = new RSACryptoServiceProvider();
     provider.FromXmlString(privateKey);

     // 解密数据
     var r = string.Empty;
     byte[] src = Convert.FromBase64String(base64EncryptedData);
     List<byte> dest = new List<byte>();
     int KEY_SIZE = provider.KeySize / 8;//128  rsp -> System.Security.Cryptography.RSACryptoServiceProvider
     if (src.Length > KEY_SIZE) //要解密的数据超过此模块的最大值 128 字节
     {
         int i = 0;
         while (i < src.Length)
         {
             byte[] t = null;
             if (i + KEY_SIZE > src.Length)   //不是128的整数倍
             {
                 t = new byte[src.Length - i];
             }
             else                             //128的整数倍
             {
                 t = new byte[KEY_SIZE];
             }
             Array.Copy(src, i, t, 0, t.Length);
             byte[] t1 = provider.Decrypt(t, false);//分段解密
             i += KEY_SIZE;
             dest.AddRange(t1);
         }
     }
     else                //小于等于128字节 
     {
         dest.AddRange(provider.Decrypt(src, false));
     }
     r = System.Text.Encoding.UTF8.GetString(dest.ToArray());
     return r;
 }

  

标签:src,c#,RSA,Length,provider,128,byte,256,SIZE
From: https://www.cnblogs.com/cheua/p/18333112

相关文章

  • DM-DSC集群配置
    DM-DSC集群配置 DMDSC概述DM共享存储数据库集群全称DMDataSharedCluster,简称DMDSCDMDSC特性DM共享存储数据库集群,允许多个数据库实例同时访问、操作同一数据库,具有高可用、高性能、负载均衡等特性。DMDSC支持故障自动切换和故障自动重加入,某一个数据库实例故障后......
  • leetcode题目总结
    前言本文为leetcode上的题目简单分析总结,仅作记录,欢迎提出建议,共同学习交流。 390.消除游戏列表 arr 由在范围 [1,n] 中的所有整数组成,并按严格递增排序。请你对 arr 应用下述算法:从左到右,删除第一个数字,然后每隔一个数字删除一个,直到到达列表末尾。重复上面的步......
  • orc使用java生成文件的示例代码
    包含了int等基本类型、string、数组importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.hive.ql.exec.vector.BytesColumnVector;importorg.apache.hadoop.hive.ql.exec.vector.ListColumnVector;importorg.apache.......
  • Beyond Compare Pro v5.0.0.29773 授权版
    BeyondCompare是一款文件及文件夹(目录)的对比工具。BeyondCompare不仅可以快速比较出两个目录的不同,还可以比较每个文件的内容,而且可以任意显示比较结果。BeyondCompare程序内建了文件浏览器,方便您对文件、文件夹、压缩包、FTP网站之间的差异比对以及资料同步。软件截图:使......
  • Python - Static Methods
    Sometimeswehavetowritemethodsthatarerelatedtotheclassbutdonotneedanyaccesstoinstanceorclassdataforperformingtheirwork.Thesemethodscouldbesomehelperorutilitymethodsthatareusedinsidetheclassbuttheycanperformthei......
  • Codeforces Round 933 (Div. 3) D 题
    D.RudolfandtheBallGame原题链接:https://codeforces.com/contest/1941/problem/D RudolfandBernarddecidedtoplayagamewiththeirfriends. n peoplestandinacircleandstartthrowingaballtoeachother.Theyarenumberedfrom 1 to nn i......
  • WGS84、GCJ-02、BD09三大坐标系详解
    文章目录前言WGS84坐标系定义应用WGS84Web墨卡托投影GCJ-02坐标系(火星坐标系)定义应用GCJ-02经纬度投影与Web墨卡托投影BD09坐标系(百度坐标系)定义应用BD09经纬度投影与Web墨卡托投影坐标系之间的区别与注意事项总结前言WGS84、GCJ02、BD09坐标系互转在地理信......
  • Atcoder 356 C - Keys 二进制枚举
    原题链接:https://atcoder.jp/contests/abc356/tasks/abc356_c C-Keys:问题陈述您有 N 个编号为1,2,…,N 的密钥。其中一些是真钥匙,其他都是假钥匙。有一扇门,门X,你可以插入任意数量的钥匙。只有插入至少 K 把真钥匙,X门才会打开。你已经对这些钥匙进行了 M 次......
  • 横竖屏切换,按home键,按返回键,锁屏与解锁屏幕,跳转透明Activity界面,启动一个 Theme
    A->B横竖屏切换:A走完ondestory才会走B的onCreate--会走pause按home键:本质上就是普通开B按返回键:也是开B但是会走关A锁屏与解锁屏幕:普通跳转透明Activity界面:会走pause但是不会走onstop启动一个Theme为Dialog的Activity:会onPause不会stop弹出Dialog时A......
  • Navicat Premium(数据库管理) v17.0.12 授权版
    Navicat17全新升级,软件增强了数据库管理和数据分析的功能体验。其中包括模型设计与同步、数据字典、数据分析(dataprofiling)、用户体验、查询优化、BI功能集成MongoDB/Snowflake、专注模式、Redis哨兵模式与平台扩展LinuxARM等。此次升级让用户在数据库的创建、管理、......