关于C#rsa解密的问题,代码里面引用了BouncyCastle.CS文件,但是解出来的结果乱码

static void Main(string[] args)

{

var rsaHelper = new RsaHelper();

var test1 =

"i0s9lv0QuefmmXWkWxqIwJMcK1/uOjTTIpc0K2YWAwFGuMSbQ651Zfl4i7MY/Qi/vG8+J7SRyb3UWiS5CNP3M3MI2tC6l2CVAGv0godSMaeWbMqj9g17KwJr9r3EYtPvc8lRi8ec3qS8plkoPUCoz3PtsK LZ9hBlAXKD3f8qGDI=";

var key = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCxtkuwBI6novN6IKoP3AUe7vQnT +3NqYy0SJqGTf4u5sWuKj6jwpvBSf17DoBGAXPVfzQjtl3xNymn/87c7qzDzollBH1dXAdg5olwp0tAUVEWDKuCgaFGjsqnrTYxTvOqTf1J08mIQf3Tngkw1WuNBdADUiBsTlgpO9k+ffIL4wIDAQAB";

var source = rsaHelper.DecryptByPublibKey(test1, key);

Console.WriteLine("通过公钥解密后的原文是:{0}", source);

Console.ReadKey();

}

///

/// 公钥解密(key公钥解密)- 必须对应私钥加密

///

/// 加密后的数据(密文)

/// 公钥

///

public string DecryptByPublibKey(string source, string publicKey)

{

var publicInfoByte = Convert.FromBase64String(publicKey);

Asn1Object pubKeyObj = Asn1Object.FromByteArray(publicInfoByte);//这里也可以从流中读取,从本地导入

AsymmetricKeyParameter pubKey = PublicKeyFactory.CreateKey(SubjectPublicKeyInfo.GetInstance(pubKeyObj));

//开始解密

IAsymmetricBlockCipher cipher = new RsaEngine();

cipher.Init(false, pubKey);

//解密已加密的数据

byte[] encryptedData = Convert.FromBase64String(source);

encryptedData = cipher.ProcessBlock(encryptedData, 0, encryptedData.Length);

return Encoding.UTF8.GetString(encryptedData, 0, encryptedData.Length);

}

android rsa解密前面带乱码,C#rsa解密的解出来的结果乱码相关推荐

  1. java android rsa加密解密_Android RSA数据加密与Java服务端RSA私钥解密出错问题

    1. 出错描述:服务RSA解密抛出javax.crypto.BadPaddingException: Decryption error 2.出错原因:Android系统使用的虚拟机(dalvik)跟S ...

  2. php rsa加密乱码_php RSA加解密

    相关介绍 RSA算法属于非对称加密算法,非对称加密算法需要两个秘钥:公开密钥(publickey)和私有秘钥(privatekey).公开密钥和私有秘钥是一对, 如果公开密钥对数据进行加密,只有用对应 ...

  3. Android 在 NDK 层使用 OpenSSL 进行 RSA 加密

    前言 需求:需要在NDK层对一个Java层的字符串进行RSA加密,然后对加密的结果进行Base64返回到Java层 方案:选择使用OpenSSL来实现. 编译libssl.a和libcrypto.a静 ...

  4. 叙述无保密机制的rsa签名过程_安全系列之——RSA的公钥私钥有多少人能分的清楚?RSA的签名验签与加密解密如何使用公私钥?...

    在对接很多的互联网公司的开发平台时,这些互联网公司未来自身平台的安全,都会需要调用方签名确认调用方的身份是合法的,同时未来信息网络传输的安全可能还需要加密解密.比如对接支付宝.微信开放平台时,需要配置 ...

  5. RSA算法原理——(3)RSA加解密过程及公式论证

    上期(RSA简介及基础数论知识)为大家介绍了:互质.欧拉函数.欧拉定理.模反元素 这四个数论的知识点,而这四个知识点是理解RSA加密算法的基石,忘了的同学可以快速的回顾一遍. 一.目前常见加密算法简介 ...

  6. java中使用openssl生成的rsa公私钥进行数据加解密_使用openssl生成RSA公钥和私钥对...

    在ubuntu上要使用openssl的话需要先进行安装,命令如下: sudo apt-get install openssl 安装完成就可以使用openssl了. 首先需要进入openssl的交互界面 ...

  7. rsa实现js前台加密java后台解密

    前段时间咱老大吩咐我写一个rsa前台加密到后台用java解密.(说实话这之前我还真没用过) 不过没办法啊,这是任务,于是研究了一下.圆满完成任务了,下面共享下实现思路: 准备工作:其实鄙人也没那么强啦 ...

  8. java 解密后为空_java RSA加密解密

    该工具类中用到了BASE64,需要借助第三方类库:javabase64-1.3.1.jar注意:RSA加密明文最大长度117字节,解密要求密文最大长度为128字节,所以在加密和解密的过程中需要分块进行 ...

  9. RSA不对称加密,公钥加密私钥解密,私钥加密公钥解密

    RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作. RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一 ...

最新文章

  1. 10 大受欢迎的全球顶级编程语言与薪资水平
  2. 【spring教程之中的一个】创建一个最简单的spring样例
  3. android 文件名 标题,有什么方法可以让Android的默认浏览器识别Content-Disposition:attachment下载中的非ASCII文件名?...
  4. win10 连接android,win10系统连接安卓手机usb没反应的解决方法
  5. jset编写测试vue代码_详解使用jest对vue项目进行单元测试
  6. WindowsPhone7开发简单豆瓣网应用程序之界面设计
  7. ip netns的使用及network namespace 简介
  8. Spring-tx-TransactionInterceptor类
  9. 从0开始,html5零基础入门教程,快来看看!
  10. matlab中与或非、等逻辑符号
  11. 爱你,我永远的 Elaine
  12. Android ICON生成及优化
  13. crt链接linux后不能输入退格,SecureCRT 退格键等不好用
  14. CDA Level1知识点总结之数据分析概述与职业操守
  15. 水面无人艇局部危险避障算法研究 参考文献
  16. 每日新闻早报简报十条和1条微语分享
  17. 基于ISTQB定义理解软件测试
  18. ffmpeg源码简析(十)libswscale中的SwsContext,sws_scale()
  19. Android中半圆形背景
  20. MySQL函数关键字(五)子查询 ANY/SOME/ALL/IN/EXISTS/USING

热门文章

  1. 公式化学习urllib(第一卷)
  2. 【bzoj4386】[POI2015]Wycieczki 矩阵乘法
  3. Socket通信入门小实例
  4. LINUX mysql 源码安装
  5. java日期格式化、解析
  6. 安卓中资源ID的问题
  7. WSSv3 Technical Articles_使用Visual Studio 2005扩展创建Windows SharePoint Services 3.0 Web Part...
  8. windows下创建vp9的VS版本
  9. 开源GIS软件初探(转载)
  10. react-router-dom v4