且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

字符串加密

更新时间:2022-09-16 15:34:58

可以用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.cnblogs.com/soundcode/archive/2010/12/19/1910619.html,如需转载请自行联系原作者