当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 探讨C#中字符串的加密

ASP.NET
析构函数的作用 什么是析构函数
asp.net下Request.QueryString取不到值的解决方法
设置DropDownList的当前选项
生成多字段排序分页的SQL的通用类
注册表中存储数据库链接字符串的方法
asp.net下百度的编码和解码
asp.net 操作excel的实现代码
用ASP.NET做的个性化的邮件发送系统
DotNet2.0 生成网站的测试
ASP.net 验证码实现代码(C#)
C#中string与byte[]的转换帮助类-.NET教程,C#语言
把jQuery的each(callback)方法移植到c#中
asp.net对URL含有中文参数的转换
C#语言初级入门介绍
C#编码好习惯小结
C#声明方法实例说明
C#使用正则表达式实例
C#列出局域网中可用SQL Server服务器(续)
将DataRow转成指定类型的类,并返回这个类的对象(带值)
asp.net OleDbCommand 的用法

ASP.NET 中的 探讨C#中字符串的加密


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 173 ::
收藏到网摘: n/a


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