`
zendj
  • 浏览: 121185 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

用.NET非对称加密算法实例

阅读更多

用.NET非对称加密算法实例



【摘 要】一个简单的使用.NET非对称加密算法的例子, 本例的程序很简单,仅用于说明如何在.NET里面使用非对称(RSA)算法。

  

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

/// <summary>
/// 一个简单的使用.NET非对称加密算法的例子
/// 本例的程序很简单,仅用于说明如何在.NET里面使用非对称(RSA)算法。
/// Kwanhong 2005.9
/// </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框架(.NET FCL,即.NET Framework Class Library)提供了丰富的加密功能,其中包括对称加密算法。对称加密是一种常见的加密方法,它依赖于相同的密钥进行数据加密和解密,因此效率较高,适合大量数据的加解密...

    RSA非对称加解密实例

    RSA非对称加密是一种广泛应用的公钥加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出,因此得名RSA。它在网络安全、数据传输、数字签名等领域有着重要应用。在.NET环境中,我们可以使用内置的...

    .net RSA非对称加密例子

    RSA(Rivest-Shamir-Adleman)是非对称加密算法的代表,其基本原理是利用两个大素数生成一对密钥:公钥和私钥。公钥可以公开给任何人,用于加密数据;而私钥则需要保密,用于解密数据。这种特性使得RSA在数据传输中...

    .NET 2种加密算法,以及解密

    DES是一种对称加密算法,它使用相同的密钥进行加密和解密。在ASP.NET中,我们可以使用`System.Security.Cryptography`命名空间中的`DESCryptoServiceProvider`类来实现DES加密和解密。 #### 加密过程: 1. 创建`...

    用C#实现的数据加密(一) —— 对称加密算法

    在本文中,我们将探讨如何使用C#编程语言实现对称加密算法,特别是以Rijndael算法为例。对称加密是一种常见的数据加密方法,它基于一个共享的秘密...在后续的文章中,可能会介绍如何使用非对称加密算法来解决这个问题。

    C#.NET 安全编程 实例 RSA DSA 对称 非对称 加密 解密 XML 数字签名

    本主题将深入探讨RSA和DSA两种非对称加密算法,以及对称加密的概念,同时涉及XML数字签名的实现。 首先,让我们了解对称加密和非对称加密的基本原理。对称加密使用相同的密钥进行加密和解密,如DES、3DES和AES等。...

    浅谈.NET中加密和解密的实现方法分享

    在.NET中,加密解密算法主要分为两大类:对称加密算法和非对称加密算法。 对称加密算法使用相同的密钥进行加密和解密操作。这种算法的特点是速度快,适用于大量数据的加密。典型的对称加密算法包括DES(Data ...

    基于Java的实例源码-非对称加密源码实例.zip

    1. **非对称加密原理**:非对称加密算法包括RSA、DSA、ECC等,其中RSA是最常见的。RSA基于大数因子分解难题,公钥是两个大素数的乘积,私钥是这两个素数。任何人都可以用公钥加密数据,但只有拥有对应私钥的人才能...

    详解.NET中的加密算法总结(自定义加密Helper类续)

    在使用非对称加密算法时,公钥可以公开用于加密数据,而私钥必须保密,用于解密数据。非对称加密算法由于其密钥长度比对称加密算法长,因此在加解密过程中处理的数据量较大,计算也更为复杂,但提供了更为安全的数据...

    asp.net加密解密实例

    在ASP.NET中,加密和解密是至关重要的技术,用于保护数据的安全性和隐私。这个"asp.net加密解密实例...同时,了解并适时采用更先进的加密技术,如使用SHA家族的哈希算法和更强的非对称加密算法,是保障信息安全的关键。

    一个关于.NET Framework RSA加密类使用的实例

    .NET Framework RSA加密类是.NET平台下用于实现非对称加密算法的重要工具,主要基于RSA公钥加密算法。这种算法在信息安全领域广泛应用,如数字签名、数据加密和密钥交换等。本文将深入探讨如何利用.NET Framework中...

    国密SM4,layui前端 和.net core后台 加密解密 .net加密解密

    1. SM4对称加密算法及其在.NET Core和JavaScript中的实现。 2. LayUI前端框架的使用,以及前端加密库如CryptoJS的集成。 3. C#的System.Security.Cryptography命名空间和SM4CryptoServiceProvider类的应用。 4. 前后...

    asp.net MD5加密

    例如,如果需要更高级的安全性,可以考虑使用RSA或AES等对称/非对称加密算法。 在实际开发中,通常会结合盐值(salt)一起使用MD5加密,以增加破解的难度。盐值是一个随机生成的附加信息,与原始密码一起输入到MD5...

    .net 查询字符串加密

    RSA则是一种非对称加密算法,安全性更高,但运算速度较慢,常用于密钥交换。 2. **使用System.Security.Cryptography**: .NET框架的`System.Security.Cryptography`命名空间提供了各种加密和解密类。例如,AES...

    ASP.NET实现 DES加密解密类

    DES(Data Encryption Standard)是一种常用的对称加密算法,适合对小量数据进行快速加密。本文将详细解释如何在ASP.NET中使用C#实现DES加密和解密。 1. **DES加密算法**: DES是一种分组密码,它使用64位的明文块...

    Visual Studio .NET加密技术剖析系列课程(2):对称加密技术

    对称加密算法的核心特点是加密和解密使用相同的密钥,这使得其在处理大量数据时具有较高的效率。 **对称加密的原理** 对称加密技术基于数学函数,使用一个共享的秘密密钥来加密和解密信息。常见的对称加密算法包括...

    Java与.NET RSA加密解密(签名,验签)实例代码

    RSA是一种广泛使用的非对称加密算法,适用于加密、解密、数字签名和验证数字签名。本实例代码着重于Java与.NET平台之间的RSA加密解密及签名验签操作,这对于跨平台的数据安全通信具有实际意义,例如与支付宝POS对接...

    基于.net的RSA私钥加密 公钥解密的源码

    RSA是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出,因其发明者的名字首字母命名。这种加密算法基于大数因子分解的困难性,为数据的传输提供了强大的安全保护。在.NET环境下,我们...

Global site tag (gtag.js) - Google Analytics