谁会用System.Security.Cryptography.DESCryptoServiceProvider这个类对字符串进行加密解密???急需 谁会用System.Security.Cryptography.DESCryptoServiceProvider这个类对字符串进行加密解密???急需只要最简单的就行了代码越短越好我只需要最基本帮帮忙啊高手们 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.cnblogs.com/chinasf/archive/2005/05/18/157910.html 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]*/ 请教一个概念性的问题 为某一方法指定了过多的参数??? 有没有类似于 腾讯企业QQ的软件? 数据库事务处理的时间设置? mysql.data.dll的问题 翻译以逗号隔开的id 大虾看过来! (简单又不简单的问题)关于字符串转换问题? 装配件于COM的DLL有何不同? 急:在线等!兄弟们进来帮个忙啊 怎样将24位,32位,8位的bmp文件压缩或转换成16位的bmp文件。以及怎样从bmp文件中读取出原始数据?在线等! 关于属性类的问题
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]
*/