不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
C#使用DES加密字符串示例
编辑:dnawo 日期:2012-10-08
DES加/解密类EncryptHelpr:
调用示例:
参考资料
[1].[C#.NET]字串及檔案利用DES/AES演算法加解密:http://www.dotblogs.com.tw/yc421206/archive/2012/04/18/71609.aspx
复制内容到剪贴板
程序代码

using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace Library
{
public class EncryptHelpr
{
private static readonly string key = "1234abcd";
private static readonly string iv = "12345678";
/// <summary>
/// 加密
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static string Encrypt(string data)
{
return Encrypt(data, Encoding.UTF8);
}
/// <summary>
/// 加密
/// </summary>
/// <param name="data"></param>
/// <param name="encode"></param>
/// <returns></returns>
public static string Encrypt(string data, Encoding encode)
{
StringBuilder result = new StringBuilder();
byte[] dataByteArray = encode.GetBytes(data);
DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
provider.Key = Encoding.ASCII.GetBytes(key);
provider.IV = Encoding.ASCII.GetBytes(iv);
using (MemoryStream memory = new MemoryStream())
{
using (CryptoStream crypto = new CryptoStream(memory, provider.CreateEncryptor(), CryptoStreamMode.Write))
{
crypto.Write(dataByteArray, 0, dataByteArray.Length);
crypto.FlushFinalBlock();
foreach (byte item in memory.ToArray())
{
result.AppendFormat("{0:X2}", item);
}
}
}
return result.ToString();
}
/// <summary>
/// 解密
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static string Decrypt(string data)
{
return Decrypt(data, Encoding.UTF8);
}
/// <summary>
/// 解密
/// </summary>
/// <param name="data"></param>
/// <param name="encode"></param>
/// <returns></returns>
public static string Decrypt(string data, Encoding encode)
{
string result = string.Empty;
byte[] dataByteArray = new byte[data.Length / 2];
for (int n = 0; n < dataByteArray.Length; n++)
{
dataByteArray[n] = (byte)Convert.ToInt32(data.Substring(n * 2, 2), 0x10);
}
DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
provider.Key = Encoding.ASCII.GetBytes(key);
provider.IV = Encoding.ASCII.GetBytes(iv);
using (MemoryStream memory = new MemoryStream())
{
using (CryptoStream crypto = new CryptoStream(memory, provider.CreateDecryptor(), CryptoStreamMode.Write))
{
crypto.Write(dataByteArray, 0, dataByteArray.Length);
crypto.FlushFinalBlock();
result = encode.GetString(memory.ToArray());
}
}
return result;
}
}
}
using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace Library
{
public class EncryptHelpr
{
private static readonly string key = "1234abcd";
private static readonly string iv = "12345678";
/// <summary>
/// 加密
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static string Encrypt(string data)
{
return Encrypt(data, Encoding.UTF8);
}
/// <summary>
/// 加密
/// </summary>
/// <param name="data"></param>
/// <param name="encode"></param>
/// <returns></returns>
public static string Encrypt(string data, Encoding encode)
{
StringBuilder result = new StringBuilder();
byte[] dataByteArray = encode.GetBytes(data);
DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
provider.Key = Encoding.ASCII.GetBytes(key);
provider.IV = Encoding.ASCII.GetBytes(iv);
using (MemoryStream memory = new MemoryStream())
{
using (CryptoStream crypto = new CryptoStream(memory, provider.CreateEncryptor(), CryptoStreamMode.Write))
{
crypto.Write(dataByteArray, 0, dataByteArray.Length);
crypto.FlushFinalBlock();
foreach (byte item in memory.ToArray())
{
result.AppendFormat("{0:X2}", item);
}
}
}
return result.ToString();
}
/// <summary>
/// 解密
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static string Decrypt(string data)
{
return Decrypt(data, Encoding.UTF8);
}
/// <summary>
/// 解密
/// </summary>
/// <param name="data"></param>
/// <param name="encode"></param>
/// <returns></returns>
public static string Decrypt(string data, Encoding encode)
{
string result = string.Empty;
byte[] dataByteArray = new byte[data.Length / 2];
for (int n = 0; n < dataByteArray.Length; n++)
{
dataByteArray[n] = (byte)Convert.ToInt32(data.Substring(n * 2, 2), 0x10);
}
DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
provider.Key = Encoding.ASCII.GetBytes(key);
provider.IV = Encoding.ASCII.GetBytes(iv);
using (MemoryStream memory = new MemoryStream())
{
using (CryptoStream crypto = new CryptoStream(memory, provider.CreateDecryptor(), CryptoStreamMode.Write))
{
crypto.Write(dataByteArray, 0, dataByteArray.Length);
crypto.FlushFinalBlock();
result = encode.GetString(memory.ToArray());
}
}
return result;
}
}
}
调用示例:
复制内容到剪贴板
程序代码

string str = EncryptHelpr.Encrypt("http://www.mzwu.com/");
Console.WriteLine(str);
Console.WriteLine(EncryptHelpr.Decrypt(str));
Console.WriteLine(str);
Console.WriteLine(EncryptHelpr.Decrypt(str));
参考资料
[1].[C#.NET]字串及檔案利用DES/AES演算法加解密:http://www.dotblogs.com.tw/yc421206/archive/2012/04/18/71609.aspx






评论: 0 | 引用: 0 | 查看次数: 3362
发表评论
请登录后再发表评论!