当前位置:K88软件开发文章中心编程语言.NET.NET01 → 文章内容

asp.net教程:C#字符串加密与解密函数

减小字体 增大字体 作者:lovejs     来源:asp编程网  发布时间:2018-12-30 7:43:34

这里介绍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#字符串加密与解密函数