blogjava's web log

blogjava's web log
...

一对加密解密类[导入]

public     string   Encrypt( 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())  
            
{  
                
// Format  as  hex  
                ret.AppendFormat( " {0:X2} " ,  b);  
            }
  
            ret.ToString();  
            
return   ret.ToString();  
        }
  
        
/* *****************************************************************
         * 密码解密
         * *****************************************************************
*/

        
public    string   Decrypt( 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 on 2006-05-28 14:45 record java and net 阅读(332) 评论(0)  编辑  收藏 所属分类: dot net相关


只有注册用户登录后才能发表评论。


网站导航:
 

导航

常用链接

留言簿(44)

新闻档案

2.动态语言

3.工具箱

9.文档教程

友情链接

搜索

最新评论