一个简单实用的字符串加密解密类

来源:互联网 发布:独立博客知乎 编辑:程序博客网 时间:2024/05/08 19:52
 
using System; 
using System.Security.Cryptography; 
using System.IO; 
using System.Text; 

namespace SDSPNDSC.Common 

/// 
/// 通过DES对称加密算法,完成对字符串的加密和解密操作。 
/// 

public class Encrypt 

private SymmetricAlgorithm mCSP; 
private const string CIV ="kXwL7X2+fgM=";//密钥 
private const string CKEY ="FwGQWRRgKCI=";//初始化向量 

public Encrypt() 

mCSP 
= new DESCryptoServiceProvider(); 
}
 

public string EncryptString(string Value) 

ICryptoTransform ct; 
MemoryStream ms; 
CryptoStream cs; 
byte[] byt; 

ct 
= mCSP.CreateEncryptor(Convert.FromBase64String(CKEY), Convert.FromBase64String(CIV)); 

byt 
= Encoding.UTF8.GetBytes(Value); 

ms 
= new MemoryStream(); 
cs 
= new CryptoStream(ms, ct, CryptoStreamMode.Write); 
cs.Write(byt, 
0, byt.Length); 
cs.FlushFinalBlock(); 

cs.Close(); 

return Convert.ToBase64String(ms.ToArray()); 
}
 

public string DecryptString(string Value) 

ICryptoTransform ct; 
MemoryStream ms; 
CryptoStream cs; 
byte[] byt; 

ct 
= mCSP.CreateDecryptor(Convert.FromBase64String(CKEY), Convert.FromBase64String(CIV)); 

byt 
= Convert.FromBase64String(Value); 

ms 
= new MemoryStream(); 
cs 
= new CryptoStream(ms, ct, CryptoStreamMode.Write); 
cs.Write(byt, 
0, byt.Length); 
cs.FlushFinalBlock(); 

cs.Close(); 

return Encoding.UTF8.GetString(ms.ToArray()); 
}
 

}
 
}