关闭

一个加密解密的类

334人阅读 评论(0) 收藏 举报
 
using System;
using System.IO;
using System.Text;
using System.Security.Cryptography;

namespace Common
{

    
/// <summary> 
    
/// SecurityService 的摘要说明。 
    
/// </summary> 

    public class SecurityService
    
{

        
static protected Byte[] byteKey = 125144567112797799371041391185187108 };
        
static protected Byte[] byteIV = 86197915725811745861979 };

        
static public string SymmetricEncrypt(String sPlainText)
        
{
            Byte[] bytePlaintext;
            MemoryStream EncryptedStream;
            ICryptoTransform Encryptor;
            CryptoStream TheCryptoStream;
            
if (sPlainText == ""return "";
            bytePlaintext 
= Encoding.ASCII.GetBytes(sPlainText);
            EncryptedStream 
= new MemoryStream(sPlainText.Length);
            Encryptor 
= GetEncryptor();
            TheCryptoStream 
= new CryptoStream(EncryptedStream, Encryptor, CryptoStreamMode.Write);
            TheCryptoStream.Write(bytePlaintext, 
0, bytePlaintext.Length);
            TheCryptoStream.FlushFinalBlock();
            TheCryptoStream.Close();
            
return Convert.ToBase64String(EncryptedStream.ToArray());

        }


        
static public string SymmetricDecrypt(String sEncryptedText)
        
{
            Byte[] byteEncrypted;
            MemoryStream PlaintextStream;
            ICryptoTransform Decryptor;
            CryptoStream TheCryptoStream;
            
if (sEncryptedText == ""return "";
            byteEncrypted 
= Convert.FromBase64String(sEncryptedText.Trim());
            PlaintextStream 
= new MemoryStream(sEncryptedText.Length);
            Decryptor 
= GetDecryptor();
            TheCryptoStream 
= new CryptoStream(PlaintextStream, Decryptor, CryptoStreamMode.Write);
            TheCryptoStream.Write(byteEncrypted, 
0, byteEncrypted.Length);
            TheCryptoStream.FlushFinalBlock();
            TheCryptoStream.Close();
            
return Encoding.ASCII.GetString(PlaintextStream.ToArray());

        }


        
static private ICryptoTransform GetEncryptor()
        
{
            RC2CryptoServiceProvider CryptoProvider 
= new RC2CryptoServiceProvider();
            CryptoProvider.Mode 
= CipherMode.CBC;
            
return CryptoProvider.CreateEncryptor(byteKey, byteIV);

        }


        
static private ICryptoTransform GetDecryptor()
        
{
            RC2CryptoServiceProvider CryptoProvider 
= new RC2CryptoServiceProvider();
            CryptoProvider.Mode 
= CipherMode.CBC;
            
return CryptoProvider.CreateDecryptor(byteKey, byteIV);
        }

    }

}


    

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:58832次
    • 积分:892
    • 等级:
    • 排名:千里之外
    • 原创:26篇
    • 转载:22篇
    • 译文:0篇
    • 评论:4条
    文章分类
    最新评论