- ·上一篇文章:asp.net教程:winform开发中的两个小功能
- ·下一篇文章:asp.net教程:C#删除一个xml节点
asp.net教程:C#字符串加密与解密函数
这里介绍C
#字符串加密与解密函数,先添加引用
然后添加这两个函数
使用方法:
#字符串加密与解密函数,先添加引用
using System.Security.Cryptography(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
using System.IO
然后添加这两个函数
//默认密钥向量 private static byte[] Keys =(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
{ 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF }
//默认加密密钥 private static string encryptKey = "aspbccom"
/// <
br>
/// DES加密字符串 /// <
/br>
/// <
param name="encryptString">
待加密的字符串<
br>
/// <
param name="encryptKey">
加密密钥,要求为8位<
br>
/// <
returns>
加密成功返回加密后的字符串,失败返回源串<
br>
public static string EncryptDES(string encryptString, string encryptKey)
{ try
{ byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8))
byte[] rgbIV = Keys
byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString)
DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider()
MemoryStream mStream = new MemoryStream()
CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write)
cStream.Write(inputByteArray, 0, inputByteArray.Length)
cStream.FlushFinalBlock()
return Convert.ToBase64String(mStream.ToArray())
} catch
{ return encryptString
} } /// <
br>
/// DES解密字符串 /// <
/br>
/// <
param name="decryptString">
待解密的字符串<
br>
/// <
param name="decryptKey">
解密密钥,要求为8位,和加密密钥相同<
br>
/// <
returns>
解密成功返回解密后的字符串,失败返源串<
br>
public static string DecryptDES(string decryptString, string decryptKey)
{ try
{ byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey)
byte[] rgbIV = Keys
byte[] inputByteArray = Convert.FromBase64String(decryptString)
DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider()
MemoryStream mStream = new MemoryStream()
CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write)
cStream.Write(inputByteArray, 0, inputByteArray.Length)
cStream.FlushFinalBlock()
return Encoding.UTF8.GetString(mStream.ToArray())
} catch
{ return decryptString
} }
使用方法:
a = EncryptDES(b, encryptKey)(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
//加密b字符串b = DecryptDES(a, encryptKey)
//解密a字符串
asp.net教程:C#字符串加密与解密函数