C#加密解密
来源:互联网 发布:淘宝自然搜索怎么弄 编辑:程序博客网 时间:2024/06/17 04:38
using System;
using System.Text;
using System.Globalization;
using System.Security.Cryptography;
class DES
{
// 创建Key
public string GenerateKey()
{
DESCryptoServiceProvider desCrypto = (DESCryptoServiceProvider)DESCryptoServiceProvider.Create();
return ASCIIEncoding.ASCII.GetString(desCrypto.Key);
}
// 加密字符串
public string EncryptString(string sInputString, string sKey)
{
byte [] data = Encoding.UTF8.GetBytes(sInputString);
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
ICryptoTransform desencrypt = DES.CreateEncryptor();
byte [] result = desencrypt.TransformFinalBlock(data, 0, data.Length);
return BitConverter.ToString(result);
}
// 解密字符串
public string DecryptString(string sInputString, string sKey)
{
string [] sInput = sInputString.Split("-".ToCharArray());
byte [] data = new byte[sInput.Length];
for(int i = 0; i < sInput.Length; i++)
{
data[i] = byte.Parse(sInput[i], NumberStyles.HexNumber);
}
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
ICryptoTransform desencrypt = DES.CreateDecryptor();
byte [] result = desencrypt.TransformFinalBlock(data, 0, data.Length);
return Encoding.UTF8.GetString(result);
}
}
class Test
{
static void Main()
{
DES des = new DES();
string key = des.GenerateKey();
string s0 = "中国软件 - csdn.net";
string s1 = des.EncryptString(s0, key);
string s2 = des.DecryptString(s1, key);
Console.WriteLine("原串: [{0}]", s0);
Console.WriteLine("加密: [{0}]", s1);
Console.WriteLine("解密: [{0}]", s2);
}
}
/* 程序输出:
原串: [中国软件 - csdn.net]
加密: [E8-30-D0-F2-2F-66-52-14-45-9A-DC-C5-85-E7-62-9B-AD-B7-82-CF-A8-0A-59-77]
解密: [中国软件 - csdn.net]
- C#加密解密算法
- c#加密解密文件
- c#加密解密文件
- C# 加密解密
- C#加密解密方法
- c# DES 加密解密
- C#加密解密函数
- C#加密解密
- javascript 加密 C#解密
- C#加密解密方法
- c# des 加密解密
- c# 加密解密
- C#加密与解密
- C# 加密解密算法
- C# 字符串加密 解密
- C#加密解密算法
- C#加密解密方法
- C# 加密与解密
- 驾校考试秘笈 不用看书就能通过!!
- Php正则表达式
- PS/2接口
- 英语学习
- 海量索引数据的机群分布
- C#加密解密
- 用emacs玩转图形学的光线追踪
- using namespace std
- spring整合hibernate关于session的管理
- 使用DirectoryWalker和FileFilterUtils进行搜索
- oracle 查询隐含参数语句
- 开明关系系列
- WinCE EBOOT中的Optional函数
- poj2612