C#中字符串的加密可用DSA和RSA实现

发表于:2007-06-21来源:作者:点击数: 标签:
C#中字符串的加密可以用DSA和RSA,先要将字符串转换为字节数组,这与编码有关。再选择签名方式,有RSA和DSA,sign便是出来的签名结果。 可以用DSA和RSA,如: using System; using System.Text; using System.Security.Cryptography; class dsacrypto_SignDa

   

C#中字符串的加密可以用DSA和RSA,先要将字符串转换为字节数组,这与编码有关。再选择签名方式,有RSA和DSA,sign便是出来的签名结果。

可以用DSA和RSA,如:

    using System;

using System.Text;

using System.Security.Cryptography;

class dsacrypto_SignData {

public static void Main(String[] args){

//先要将字符串转换为字节数组,这与编码有关。

String str = "this is a test.";

byte[] bytes = Encoding.ASCII.GetBytes(str);

//选择签名方式,有RSA和DSA

DSACryptoServiceProvider dsac = new DSACryptoServiceProvider();

byte[] sign = dsac.SignData(bytes);

//sign便是出来的签名结果。

//下面是认证了

DSACryptoServiceProvider dsac2 = new DSACryptoServiceProvider();

dsac2.FromXmlString(dsac.ToXmlString(false));

bool ver = dsac2.VerifyData(bytes, sign);

if (ver) {

Console.WriteLine("通过");

} else {

Console.WriteLine("不能通过");

}

}

}

RSA类似,不过RSA比DSA慢得多,但比DSA安全。RSA可以选择关键字的大小,越大越安全。

原文转自:http://www.ltesting.net