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;
}
c#私钥加密统一JAVA的更多相关文章
- C# 与JAVA 的RSA 加密解密交互,互通,C#使用BouncyCastle来实现私钥加密,公钥解密的方法
因为C#的RSA加密解密只有公钥加密,私钥解密,没有私钥加密,公钥解密.在网上查了很久也没有很好的实现.BouncyCastle的文档少之又少.很多人可能会说,C#也是可以的,通过Biginteger ...
- RSA,JAVA私钥加密,C#公钥解密
做这个东西在坑里爬了3天才爬出来,记录下供园友参考.C#程序员一枚,项目需要和Java做数据交互,对方甩了段密文和一个CER证书给我,然后我要对其密文进行解密. RSA 非对称加密,对方用私钥加密,我 ...
- RSA 加密算法 Java 公钥加密私钥解密 和 私钥加密公钥解密 的特点
package com.smt.cipher.unsymmetry; import org.apache.commons.codec.binary.Base64; import org.apache. ...
- JAVA RSA私钥 加密(签名) 对应 C# RSA私钥 加密(签名)
非对称密钥RSA算法加解密在C#和Java之间交互的问题,这两天看了很多其他人写的文章,碰到了几个问题,最终解决问题. 参考地址:http://xw-z1985.iteye.com/blog/1837 ...
- 银联手机支付(.Net Csharp),3DES加密解密,RSA加密解密,RSA私钥加密公钥解密,.Net RSA 3DES C#
前段时间做的银联支付,折腾了好久,拼凑的一些代码,有需要的朋友可以参考,本人.Net新手,不保证准确性! 这个银联手机支付没有SDK提供,技术支持也没有.Net的,真心不好搞! RSA加解密,这里有个 ...
- php RSA 加密 与java加密互交,java解密
<? php class encrypt{ var $pub_key; function redPukey() { $pubKey = "MIIDhzCCAm+gAwIBAgIGASY ...
- RSA加密方法java工具类
package com.qianmi.weidian.common.util; import java.io.ByteArrayOutputStream; import java.security.K ...
- RSA加密的java实现
首先科普一波: RSA的1024位是指公钥及私钥分别是1024bit,也就是1024/8=128 Bytes RSA算法密钥长度的选择是安全性和程序性能平衡的结果,密钥长度越长,安全性越好,加密解密所 ...
- 关于js私钥加密公钥解密的问题
博客荒废很久了,最近遇到一个问题,看网上的说明比较少,所以写下来给大家一个参考 一般来说rsa算法都是使用公钥加密,私钥解密,或者私钥签名,公钥验签.但总有特别的时候会想要用私钥加密,公钥解密,但是j ...
随机推荐
- SpringSecurity实战记录(一)开胃菜:基于内存的表单登录小Demo搭建
Ps:本次搭建基于Maven管理工具的版本,Gradle版本可以通过gradle init --type pom命令在pom.xml路径下转化为Gradle版本(如下图) (1)构建工具IDEA In ...
- Mysql之锁机制
全局锁 全局锁就是对整个数据库实例加锁.MySQL 提供了一个加全局读锁的方法FTWRL Flush tables with read lock 全局锁的典型使用场景是,做全库逻辑备份,也就是把整库每 ...
- 计算机体系结构——CH1基本概念
CH1基本概念 右键点击查看图像,查看清晰图像 CH1基本概念 目的与内容 了解计算机系统的完整概念 学习计算机系统的分析方法与设计方法 编写程序所必需了解的计算机属性 计算机系统结构简介 为什么要研 ...
- MySQL5.7和MySQL8.0通用配置文件
MySQL5.7 my.cnf配置 [client] port=3306 socket=/log/mysql/mysql.sock [mysql] socket=/log/mysql/mysql.so ...
- 构建一个Flowable命令行应用
官网链接 [(https://flowable.com/open-source/docs/bpmn/ch02-GettingStarted/#building-a-command-line-appli ...
- 恒骊学堂的JAVA初步学习总纲--转载
- springboot项目整合druid数据库连接池
Druid连接池是阿里巴巴开源的数据库连接池项目,后来贡献给Apache开源: Druid的作用是负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个: D ...
- Spring Boot 2.4 配置文件将加载机制大变化
Spring Boot 2.4.0.M2 刚刚发布,它对 application.properties 和 application.yml 文件的加载方式进行重构.如果应用程序仅使用单个 applic ...
- ElasticSearch-03-远行、停止
在Windows下执行elasticsearch.bat 在Linux下运行./elasticsearch 指定集群名称和节点名称: ./elasticsearch --cluster.name my ...
- Day14_77_反射( newInstance() 方法)
newInstance() 方法 * 通过反射获取class类型的对象之后,可以通过该对象创建所对应的class类型的对象 * newInstance() 用来创建Class获取的类所表示的一个新实例 ...