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();
}
}
分享到:
相关推荐
一个简单的使用.Net非对称加密算法的例子, 本例的程序很简单,仅用于说明如何在.Net里面使用非对称(RSA)算法。
c# 对称加密算法 例子~~~~~~~~~~~~~~ http://www.dotnetdev.cn
用C#实现的数据加密(一) —— 对称加密算法 以下是关于对称加密算法的C#实现代码,大家可以根据需要更改不同的算法,文中以Rijndael算法为例: using System; using System.IO; using System.Security....
RSA加密算法-Java实现,随机生产秘钥对,由公钥对内容进行加密,私钥解密。
Java Blowfish对称加密算法实例,应用Blowfish对称密钥加密的一个类,另外还有一个使用该类的例子,研究下Java加密的基础知识,仅供参考。
引言本部分等同采用ISO/IEC9798-2:2008及其勘误文件ISO/IEC9798-2:2008TECHNICALCOR-RIGENDUM3,它是由ISO
java对称/非对称加解密的例子 几个自己写的,网上收集并测试过的java使用对称算法,非对称算法进行加解密的例子
JAVA中的Blowfish加密属于对称密钥算法,如果知道密钥,则可以对加密后的数据解密,但如果如果不知道密钥,基本上是不可能的,因此,这就决定了它的先天不足,就是带来的密钥的管理问题
RSA加密算法是一种非对称加密算法,本例使用RAS公钥加密私钥解密文件。
本实例解释如何利用DES私钥加密算法加解密,对称加密的例子,本例中定义的加密算法可以是DES,DESede,Blowfish等,选择DES算法,密钥长度必须为56位,用密钥加密明文(message),生成密文(cipherText),操作模式为加密...
工程根目录下mds5/src/com/目录下有两个例子: 其中DES.java是DES算法的对称加密解密 其中RSA.java是RSA算法的非对称加密解密 项目只给出了加密解密方法,并没有给出保存密钥的方法
本文详细介绍了DES数据加密算法的原理,并给出了一个例子演示了如何使用c#中的加密包进行DES算法加密, 最后对DES进行了评价
一个加密解密的算法工具!是程序密码加密的好帮手!单独引用里面的一个类就可以了!也有例子!程序是基于C#为源代码写的!
RAS 能用于数据加密也能用于数字签名的算法。 DES加密,RAS 非对称算法加密,DES RAS 混合加密,公钥私钥算法,数字签名等等示例。
基于RSA非对称加密算法的一个例子,可提供各位学习和研究
pgp算法(以及大多数基于rsa算法的加密方法)使用公钥来加密一个对称加密算法的密钥,然后再利用一个快速的对称加密算法来加密数据。这个对称算法的密钥是随机产生的,是保密的,因此,得到这个密钥的唯一方法就是使用...
AES,又称Rijndael加密算法,在2000年被NIST选中以用来替换过时的数据加密标准(DES)。AES 是一种分组密码,这意味着加密发生在固定长度的比特组上。在我们的例子中,算法定义块长度为128位。AES 支持128,192和256...
这是一个在vb下实现的各种加密程序,可以实现一般的文本加密和文件加密,其中有用到了1024位的rsa和dsa非对称加密算法,具体用法见例子,不明白的地方联系我,qq:44806988,email:flashlxy@qq.com
PGP原理:PGP使用非对称加密算法.加密者用公钥加密,解密者则用配套的私钥和密码解 密.因为公钥和私钥是分开的,所以理论上加密者也无法解开没有配套私钥的内容. 使用方法:首先创建密钥,然后把生成的公钥发给你的朋友...
该包为java使用AES-128-CBC加密算法的从前端加密到后端解密以及后端加解密的例子和用法,实测有效