要C#的,简单实用就好,不要太复杂
解决方案 »
- winform 执行数据库问题!
- 如何用多个windowsmediaplayer同步播放视频文件??
- C#处理数据库系统时,大量字典数据如何显示对应的名称。
- 看起来很简单,谁能帮我搞定这个?跪求!急死了!!!!!!!!!!!!!!!!
- 新手求助 dataGridView 绑定 pictureBox问题
- 反射工厂问题(未将对象引用设置到对象的实例)
- WinForm中隐藏Datagrid中的一列,有简单的方法吗?
- 一个初级问题,多谢!!
- dataGridView1顯示指定列?
- 怎么实现不用服务器控件,用html来显示数据列
- VS2003下怎么发出声音
- 为什么从流中读不到任何字节? 经过调试实际上它的长度为10052. 在线等!
using System.Security.Cryptography;
using System.Text;namespace BEGroup
{
/// <summary>
/// 对字符串的加密与解密。
/// 该类无法实例化
/// </summary>
public static class Crypto
{
private static RijndaelManaged GetRM()
{
RijndaelManaged rm = new RijndaelManaged();
rm.Key = new byte[0x20]
{
0x81, 0xce, 0xd9, 0x27, 0xfe, 0x48, 0xae, 0xce, 0x6a, 0xfa, 0x4f, 0x39, 0x77, 0xd7, 0x2e, 0x89,
0x4f, 12, 0x13, 0x5f, 0x95, 0x79, 0x35, 190, 0x94, 0xf7, 0xdd, 0x79, 0x94, 0xa9, 0xa1, 0x60
};
rm.IV = new byte[0x10] { 200, 0x1c, 70, 0x74, 0xd8, 0x92, 3, 1, 0xcb, 0xfd, 0x16, 0xd8, 100, 0x51, 0xc5, 0x97}; return rm;
} /// <summary>
/// 加密字符串
/// </summary>
/// <param name="data">要加密的字符串</param>
/// <returns>加密后的字符串</returns>
public static string Encrypt(string data)
{
RijndaelManaged rm = GetRM(); try
{
byte[] bData = Encoding.UTF8.GetBytes(data);
byte[] bEncrypt = rm.CreateEncryptor().TransformFinalBlock(bData, 0, bData.Length);
return Convert.ToBase64String(bEncrypt);
}
catch
{
return null;
}
} /// <summary>
/// 解密字符串
/// </summary>
/// <param name="data">要解密的字符串</param>
/// <returns>解密后的字符串</returns>
public static string Decrypt(string data)
{
RijndaelManaged rm = GetRM(); try
{
byte[] bData = Convert.FromBase64String(data);
byte[] bDecrypt = rm.CreateDecryptor().TransformFinalBlock(bData, 0, bData.Length);
return Encoding.UTF8.GetString(bDecrypt);
}
catch
{
return null;
}
}
}
}