对输入的字符串进行RSA加密和解密处理

原创 2006年06月16日 16:23:00

 

public static string RSAEncrypt ( string EncryptToData, string XmlPublicKey )
  
{
   
try
   
{
    RSACryptoServiceProvider rsa 
= new RSACryptoServiceProvider();
    
byte[] DataToEncrypt = (new UnicodeEncoding()).GetBytes(EncryptToData);
    rsa.FromXmlString(XmlPublicKey);
//导入包含公钥信息的XML字符串
    byte[] result = rsa.Encrypt(DataToEncrypt, false);//加密字符串
    return System.Convert.ToBase64String(result);
   }

   
catch(CryptographicException e)
   
{
    Console.WriteLine(e.ToString());
    
return null;
   }

   
catch (ArgumentNullException e)
   
{
    Console.WriteLine(e.ToString());
    
return null;
   }

  }

  
  
/// <summary>
  
/// 对加密数据进行解密
  
/// </summary>
  
/// <param name="DecryptToData">要解密的字符串</param>
  
/// <param name="XmlPrivateKey">解密私钥</param>
  
/// <return>返回解密后的原文</return>

  public static string RSADecrypt ( string DecryptToData, string XmlPrivateKey )
  
{
   
try
   
{
    RSACryptoServiceProvider rsa 
= new RSACryptoServiceProvider();
    
byte[] DataToDecrypt = System.Convert.FromBase64String(DecryptToData);
    rsa.FromXmlString(XmlPrivateKey);
//导入包含私钥信息的XML字符串
    byte[] result = rsa.Decrypt(DataToDecrypt, false);//解密字符串
    return (new UnicodeEncoding()).GetString(result);
   }

   
catch(CryptographicException e)
   
{
    Console.WriteLine(e.ToString());
    
return null;
   }

   
catch (ArgumentNullException e)
   
{
    Console.WriteLine(e.ToString());
    
return null;
   }

   
catch (FormatException e)
   
{
    Console.WriteLine(e.ToString());
    
return null;
   }

  }

C#实现字符串RSA加密与解密算法

利用C#的加密库,实现RSA加密算法还是很容易的,因为我只是初步了解这个加密算法,据说是目前非对称加密中比较优秀的加密算法了,如银行什么的都在在RSA1024 RSA2048 RSA4096之类,后面...
  • tcjy1000
  • tcjy1000
  • 2016年01月14日 21:15
  • 3200

Python使用pycrypto进行RSA长字符串加密

Python RSA 长字符串加密标签(空格分隔): 未分类 今天有位群友在 “Python那点事” 群里问到了一个使用 pycrypto 进行rsa报错的问题。 问题使用 pycrypto 进行...
  • lzz957748332
  • lzz957748332
  • 2017年06月09日 17:00
  • 2492

rsa加解密的内容超长的问题解决

一. 现象:      有一段老代码用来加密的,但是在使用key A的时候,抛出了异常:javax.crypto.IllegalBlockSizeException: Data must not b...
  • taoxin52
  • taoxin52
  • 2016年12月21日 11:35
  • 4828

C#实现字符串RSA加密与解密 算法工程下载

  • 2016年01月14日 21:00
  • 63KB
  • 下载

javascript与java进行RSA加密与解密

  • 2017年12月21日 10:26
  • 6KB
  • 下载

.NET与java之间进行RSA公钥加密私钥解密

  • 2015年12月02日 11:02
  • 4KB
  • 下载

用javascript与java进行RSA加密与解密

之所以引入这篇文章,是因为je里有人问到 https 加密用户名和密码的问题,如果仅仅是为了用户名和密码的加密,不一定要用https。可以用js利用公钥对用户名和密码(加个随机数防止重放)进行加密,只...
  • jjm194
  • jjm194
  • 2011年04月20日 20:05
  • 1373

RSA+SHA256+BASE64对数据进行加密解密及校验

需求需要实现加密的认证机制认证原理a) 密钥分配:RSA算法通过工具或方法调用生成公钥和私钥(1024bit),请求端使用公钥,服务端使用私钥。 b) 加密方式:请求端通过密钥分配获取公钥,根据...
  • songfeihu0810232
  • songfeihu0810232
  • 2017年10月31日 10:48
  • 372

java 使用RSA算法进行加密和解密

一、  生成公钥和私钥公钥可以对外公开,供其他人加密使用,而把私钥秘密保存用于解密。下面程序产生公钥和私钥,并将他们分别保存在文件中。import java.io.*; import java.sec...
  • dreamingjay
  • dreamingjay
  • 2011年05月10日 11:20
  • 705

iOS,一行代码进行RSA、DES 、AES、MD5加密、解密

加密的Demo 最近做了一个移动项目,是有服务器和客户端类型的项目,客户端是要登录才行的,服务器也会返回数据,服务器是用Java开发的,客户端要同时支持多平台(Android、iOS),在处理iOS的...
  • qq_30513483
  • qq_30513483
  • 2016年04月11日 09:27
  • 1723
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对输入的字符串进行RSA加密和解密处理
举报原因:
原因补充:

(最多只允许输入30个字)