春夏秋冬

一年四季...春夏秋冬...

  博客园 :: 首页 :: 联系 :: 订阅 订阅 :: 管理
  7 Posts :: 1 Stories :: 2 Comments :: 0 Trackbacks

2006年12月6日 #

MD5

public static string MD5Encrypt(string  pToEncrypt,  string  sKey)
  { 
   DESCryptoServiceProvider  des  =  new  DESCryptoServiceProvider(); 
   byte[]  inputByteArray  =  Encoding.Default.GetBytes(pToEncrypt); 
   des.Key  =  ASCIIEncoding.ASCII.GetBytes(sKey); 
   des.IV  =  ASCIIEncoding.ASCII.GetBytes(sKey); 
   MemoryStream  ms  =  new  MemoryStream(); 
   CryptoStream  cs  =  new  CryptoStream(ms,  des.CreateEncryptor(),CryptoStreamMode.Write); 
   cs.Write(inputByteArray,  0,  inputByteArray.Length); 
   cs.FlushFinalBlock(); 
   StringBuilder  ret  =  new  StringBuilder(); 
   foreach(byte  b  in  ms.ToArray()) 
   { 
    ret.AppendFormat("{0:X2}",  b); 
   } 
   ret.ToString(); 
   return  ret.ToString(); 
  }

  ///MD5解密
  public static  string MD5Decrypt(string  pToDecrypt,  string  sKey)
  {
   DESCryptoServiceProvider  des  =  new  DESCryptoServiceProvider(); 

   byte[]  inputByteArray  =  new  byte[pToDecrypt.Length  /  2]; 
   for(int  x  =  0;  x  <  pToDecrypt.Length  /  2;  x++) 
   { 
    int  i  =  (Convert.ToInt32(pToDecrypt.Substring(x  *  2,  2),  16)); 
    inputByteArray[x]  =  (byte)i; 
   } 

   des.Key  =  ASCIIEncoding.ASCII.GetBytes(sKey); 
   des.IV  =  ASCIIEncoding.ASCII.GetBytes(sKey); 
   MemoryStream  ms  =  new  MemoryStream(); 
   CryptoStream  cs  =  new  CryptoStream(ms,  des.CreateDecryptor(),CryptoStreamMode.Write); 
   cs.Write(inputByteArray,  0,  inputByteArray.Length); 
   cs.FlushFinalBlock(); 

   StringBuilder  ret  =  new  StringBuilder(); 
            
   return  System.Text.Encoding.Default.GetString(ms.ToArray());

posted @ 2006-12-21 11:23 春夏秋冬 阅读(28) | 评论 (0)编辑

     摘要: 原文 | 下载本教程中的编码例子 | 下载本教程的英文PDF版导言作为web开发人员,我们的生活围绕着数据操作。我们建立数据库来存储数据,写编码来访问和修改数据,设计网页来采集和汇总数据。本文是研究在ASP.NET 2.0中实现这些常见的数据访问模式之技术的长篇系列教程的第一篇。我们将从创建一个软件框架开始,这个框架的组成部分包括一个使用强类型的DataSet的数据访问层(DAL),一个实施用户定... 阅读全文
posted @ 2006-12-06 15:58 春夏秋冬 阅读(152) | 评论 (0)编辑