 
                    
                
         
    
    
    
	
	
		
		
  
  
  
  
  
 
		
			
	
	

 /**//// <summary>
/**//// <summary>
 /// SecureAttribute 的摘要说明。
    /// SecureAttribute 的摘要说明。
 /// </summary>
    /// </summary> public class SecureAttribute
    public class SecureAttribute

 
     {
{
 private static byte[] keys = new byte[]
        private static byte[] keys = new byte[]

 
         {
{
 133, 98, 72, 143, 17, 162, 187, 83, 7, 15, 179, 199, 247
            133, 98, 72, 143, 17, 162, 187, 83, 7, 15, 179, 199, 247
 };
        };
 private static byte[] vectors = new byte[]
        private static byte[] vectors = new byte[]

 
         {
{
 9, 139, 23, 177, 213, 63, 90, 129, 53, 122, 187, 190, 32, 10, 135, 138, 92
            9, 139, 23, 177, 213, 63, 90, 129, 53, 122, 187, 190, 32, 10, 135, 138, 92
 };
        };
 private static byte[] keys = new byte[]
private static byte[] keys = new byte[]

 
         {
{
 133, 98, 72, 143, 17, 162, 187, 83, 7, 15, 179, 199, 247
            133, 98, 72, 143, 17, 162, 187, 83, 7, 15, 179, 199, 247
 };
        };
 private static byte[] vectors = new byte[]
        private static byte[] vectors = new byte[]

 
         {
{
 9, 139, 23, 177, 213, 63, 90, 129, 53, 122, 187, 190, 32, 10, 135, 138, 92
            9, 139, 23, 177, 213, 63, 90, 129, 53, 122, 187, 190, 32, 10, 135, 138, 92
 };
        };

 // 加密串
        // 加密串
 public static string EncryptString(string Source)
        public static string EncryptString(string Source)

 
         {
{
 ASCIIEncoding textConverter = new ASCIIEncoding();
            ASCIIEncoding textConverter = new ASCIIEncoding();
 RC2CryptoServiceProvider rc2CSP = new RC2CryptoServiceProvider();
            RC2CryptoServiceProvider rc2CSP = new RC2CryptoServiceProvider();
 byte[] encrypted;
            byte[] encrypted;
 byte[] toEncrypt;
            byte[] toEncrypt;
 rc2CSP.EffectiveKeySize = 128;
            rc2CSP.EffectiveKeySize = 128;
 // 生成加密器.
            // 生成加密器.
 ICryptoTransform encryptor = rc2CSP.CreateEncryptor(keys, vectors);
            ICryptoTransform encryptor = rc2CSP.CreateEncryptor(keys, vectors);
 
            
 // 加密数据
            // 加密数据
 MemoryStream msEncrypt = new MemoryStream();
            MemoryStream msEncrypt = new MemoryStream();
 CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write);
            CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write);

 // 转换数据到字节表
            // 转换数据到字节表
 toEncrypt = textConverter.GetBytes(Source);
            toEncrypt = textConverter.GetBytes(Source);

 // 执行加密
            // 执行加密
 csEncrypt.Write(toEncrypt, 0, toEncrypt.Length);
            csEncrypt.Write(toEncrypt, 0, toEncrypt.Length);
 csEncrypt.FlushFinalBlock();
            csEncrypt.FlushFinalBlock();

 // 取加密过的字节流
            // 取加密过的字节流
 encrypted = msEncrypt.ToArray();
            encrypted = msEncrypt.ToArray();

 // 返回结果
            // 返回结果
 return Convert.ToBase64String(encrypted);
            return Convert.ToBase64String(encrypted);
 }
        }

 // 解密串
        // 解密串
 public static string DecryptString(string Source)
        public static string DecryptString(string Source)

 
         {
{
 byte[] fromEncrypt;
            byte[] fromEncrypt;
 byte[] encrypted;
            byte[] encrypted;

 ASCIIEncoding textConverter = new ASCIIEncoding();
            ASCIIEncoding textConverter = new ASCIIEncoding();
 RC2CryptoServiceProvider rc2CSP = new RC2CryptoServiceProvider();
            RC2CryptoServiceProvider rc2CSP = new RC2CryptoServiceProvider();
 rc2CSP.EffectiveKeySize = 128;
            rc2CSP.EffectiveKeySize = 128;

 // 生成解密器
            // 生成解密器
 ICryptoTransform decryptor = rc2CSP.CreateDecryptor(keys, vectors);
            ICryptoTransform decryptor = rc2CSP.CreateDecryptor(keys, vectors);

 // 取得源加密字节流
            // 取得源加密字节流
 encrypted    = System.Convert.FromBase64String(Source);
            encrypted    = System.Convert.FromBase64String(Source);

 // 解密字节流
            // 解密字节流
 MemoryStream msDecrypt = new MemoryStream(encrypted);
            MemoryStream msDecrypt = new MemoryStream(encrypted);
 CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read);
            CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read);

 fromEncrypt = new byte[encrypted.Length];
            fromEncrypt = new byte[encrypted.Length];
 csDecrypt.Read(fromEncrypt, 0, fromEncrypt.Length);
            csDecrypt.Read(fromEncrypt, 0, fromEncrypt.Length);
 int n = 0;
            int n = 0;
 foreach (byte b in fromEncrypt)
            foreach (byte b in fromEncrypt)

 
             {
{
 if (b != 0)
                if (b != 0)

 
                 {
{
 n++;
                    n++;
 }
                }
 else
                else

 
                 {
{
 break;
                    break;
 }
                }
 }
            }
 byte[] bs = new byte[n];
            byte[] bs = new byte[n];
 for (int i = 0; i < n; i++)
            for (int i = 0; i < n; i++)

 
             {
{
 bs[i] = fromEncrypt[i];
                bs[i] = fromEncrypt[i];
 }
            }
 string s = textConverter.GetString(bs);
            string s = textConverter.GetString(bs);

 // 返回解密串
            // 返回解密串
 return s;
            return s;
 }
        }
 }
    }

 
	posted on 
2006-06-23 15:56 
过江 
阅读(
441) 
评论() 
 
收藏 
举报