探讨C#中字符串的加密 - 编程吧

上一篇 | 下一篇

探讨C#中字符串的加密

发布: 2007-1-06 15:07 | 作者: 佚名 | 来源: 网页教学网 | 查看: 75次

  

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可以选择关键字的大小,越大越安全

TAG: 编程

字号: | 推荐给好友

 

评分:0

我来说两句

seccode