c#私钥加密统一JAVA
public static string RSADecryptByPavKey(string pavKey,string strEncryptString)
{
string clearText = "";
//得到私钥
RsaKeyParameters pavKeyParam = (RsaKeyParameters)PrivateKeyFactory.CreateKey(Convert.FromBase64String(pav));
//参数与Java中加密解密的参数一致
IBufferedCipher c = CipherUtilities.GetCipher("RSA/ECB/PKCS1Padding");
//第一个参数 true-加密,false-解密;第二个参数表示密钥
c.Init(true, pavKeyParam);
//对明文进行UTF8解码
byte[] dataFromEncrypt = Encoding.UTF8.GetBytes(strEncryptString);
//获取循环次数
int count = dataFromEncrypt.Count() / 117;
//获取余数 即为要进行补位的数量
int quyu = dataFromEncrypt.Count() % 117;
//设置分割完的字节数组大小
byte[] _splitarr = new byte[117];
if (quyu == 0)
{
for (int i = 0; i < count; i++)
{
Buffer.BlockCopy(dataFromEncrypt, i * 117, _splitarr, 0, 117);
//加密
byte[] outBytes = c.DoFinal(_splitarr);
//明文
clearText += Convert.ToBase64String(outBytes);
}
}
else
{
int buchong = 117 - quyu;
byte[] buchongarr = new byte[dataFromEncrypt.Count() + buchong];
dataFromEncrypt.CopyTo(buchongarr, 0);
for (int i = 0; i <= count; i++)
{
Buffer.BlockCopy(buchongarr, i * 117, _splitarr, 0, 117);
//加密
byte[] outBytes = c.DoFinal(_splitarr);
//明文
clearText += Convert.ToBase64String(outBytes);
}
}
return clearText;
}
最新文章
- CodeSimth - .Net Framework Data Provider 可能没有安装。解决方法
- Expression Template(表达式模板,ET)
- C#----Get和Set在属性中的使用
- Entity Framework实例详解
- PHP simplexml_load_string 过滤<;![CDATA[XXXX]]>;
- window.open() 被拦截后的分析
- hdu-----(1532)Drainage Ditches(最大流问题)
- Netsharp产品标识自定义设置:产品名称、版权、LOGO等
- [HDOJ2830]Matrix Swapping II(胡搞)
- DataGrid Column Group (合并表头)
- iOS获取文件和文件夹大小
- Java 堆内存(Heap)[转]
- CCFlow最近在山东济南总部举行组团培训活动,有參加的能够报名
- WPF 文本框设置了阴影效果后,因左右的transform变化引发的拉伸渲染问题
- 快速干掉Windows Defender
- 线程--实现Runnable接口
- json数据转为Map集合
- 杂谈2.py
- MSVC 12: compiler error in boost/type_traits/common_type.hpp
- hasattr() getattr() setattr() 函数使用方法
热门文章
- 1-认识c指针
- 有必要了解的大数据知识(二) Hadoop
- SpEL表达式注入
- C语言可变参函数分析
- C# 8 - Nullable Reference Types 可空引用类型
- 「HTML+CSS」--自定义按钮样式【001】
- 如何使用Docker部署Go Web应用
- java例题_16 九九乘法表
- 【Azure 微服务】Service Fabric中微服务在升级时,遇见Warning - System.Collections.Generic.KeyNotFoundException 服务无法正常运行
- Array.prototype.fill 填充值被复用的问题