使用非对称加密算法的例子

原创 2006年05月26日 14:01:00

using System;
using System.IO;
using System.Text;
using System.Security.Cryptography;

/// <summary>
/// 一个简单的使用.NET非对称加密算法的例子
/// 本例的程序很简单,仅用于说明如何在.NET里面使用非对称(RSA)算法。
/// </summary>
class Class1
{
 public static void Main(string[] args)
 {
  Class1 c=new Class1();
  c.StartDemo();
 }

 public void StartDemo()
 {
  //RSA的加解密过程:
  //  有 rsa1 和 rsa2 两个RSA对象。
  //  现在要 rsa2 发送一段信息给 rsa1, 则先由 rsa1 发送“公钥”给 rsa2
  //  rsa2 获取得公钥之后,用来加密要发送的数据内容。
  //  rsa1 获取加密后的内容后,用自己的私钥解密,得出原始的数据内容。

  RSACryptoServiceProvider rsa1 = new RSACryptoServiceProvider();
  RSACryptoServiceProvider rsa2 = new RSACryptoServiceProvider();

  string publickey;
  publickey=rsa1.ToXmlString(false);  //导出 rsa1 的公钥

  string plaintext;
  plaintext="你好吗?这是用于测试的字符串。";  //原始数据
  Console.WriteLine("原始数据是:/n{0}/n",plaintext);

  rsa2.FromXmlString(publickey); //rsa2 导入 rsa1 的公钥,用于加密信息

  //rsa2开始加密
  byte[] cipherbytes;
  cipherbytes=rsa2.Encrypt(
   Encoding.UTF8.GetBytes(plaintext),
   false);

  /*//////////////////////////////////////////////*/
  Console.WriteLine("加密后的数据是:");
  for(int i=0; i< cipherbytes.Length; i++)
  {
   Console.Write("{0:X2} ",cipherbytes[i]);
  }
  Console.WriteLine("/n");
  /*//////////////////////////////////////////////*/

  //rsa1开始解密
  byte[] plaintbytes;
  plaintbytes = rsa1.Decrypt(cipherbytes,false);

  Console.WriteLine("解密后的数据是:");
  Console.WriteLine(Encoding.UTF8.GetString(plaintbytes));

  Console.ReadLine();
 }

}

 

使用openssl RSA非对称加密示例

一. RSA PEM文件格式 1. PEM私钥格式文件 1 2 -----BEGIN RSA PRIVATE KEY----- -----END RSA PRIVATE...
  • d_a_r_k
  • d_a_r_k
  • 2016年07月07日 11:20
  • 2105

非对称加密,我终于理解了!

北京的Bob发了一个快递到广州的Alice,途中经过了上海,上海快递中心出现了一个黑客H,他偷偷打开了Bob给Alice的快递,然后偷偷把里边的衣服剪烂,再按照原样包装好发往广州,可以看到对于这样简单...
  • xiaoy20618
  • xiaoy20618
  • 2015年07月27日 13:37
  • 11280

非对称加密的案例

  • 2012年08月01日 18:35
  • 6KB
  • 下载

非对称加密原理和流程图以及过程实例

与对称加密算法不同,非对称加密算法需要两个密钥:公钥(publickey)和私钥(privatekey)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密...
  • a137268431
  • a137268431
  • 2015年07月22日 17:46
  • 1258

对称加密与非对称加密理解和非对称加密的java例子

对称加密与非对称加密理解和非对称加密的java例子 1.对称加密:一般小于256 bit的密钥,密钥越大越安全,但是解密和加密时间越长。加密和解密都是用的相同的密钥,快速简单 2.非对称加密:有公...
  • qq_31968809
  • qq_31968809
  • 2017年03月11日 14:23
  • 645

php rsa加密解密实例(非对称加密)

php服务端与客户端交互、提供开放api时,通常需要对敏感的部分api数据传输进行数据加密,这时候rsa非对称加密就能派上用处了,下面通过一个例子来说明如何用php来实现数据的加密解密 1、加...
  • wsliangjian
  • wsliangjian
  • 2015年05月20日 10:11
  • 2703

C#对称加密和非对称加密的Demo

  • 2010年08月31日 17:29
  • 73KB
  • 下载

rsa_非对称加密_demo

  • 2017年08月08日 11:23
  • 20KB
  • 下载

对称加密 非对称加密 需要的jar包

  • 2015年04月19日 19:50
  • 2.31MB
  • 下载

如何用非对称密码算法制作共享软件的注册码

网上大多数共享软件的注册码(又称为序列号)的设计都不是很好,比较容易被破解者做出注册机来。下面介绍一种利用公钥算法(又称为非对称算法)RSA制作注册码的方法。采用这种方法,不知道密钥的话时很难写出注册...
  • Netguy
  • Netguy
  • 2001年11月11日 19:15
  • 1406
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用非对称加密算法的例子
举报原因:
原因补充:

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