欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【Asp.net,C# 加密解密字符串的使用详解】,下面是详细的讲解!
Asp.net,C# 加密解密字符串的使用详解
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.IO;
using System.Configuration;
namespace WindowsFormsApplication1
{
public class CryptoHelper
{
//private readonly string IV="SuFjcEmp/TE=";
private readonly string IV=string.Empty;
//private readonly string Key="KIPSToILGp6fl+3gXJvMsN4IajizYBBT";
private readonly string Key=string.Empty;
public CryptoHelper()
{
IV=ConfigurationManager.AppSettings["IV"];
Key=ConfigurationManager.AppSettings["Key"];
}
/// <summary>
/// 获取加密后的字符串
/// </summary>
/// <param name="inputValue">输入值.</param>
/// <returns></returns>
public string GetEncryptedValue(string inputValue)
{
TripleDESCryptoServiceProvider provider=this.GetCryptoProvider();
// 创建内存流来保存加密后的流
MemoryStream mStream=new MemoryStream();
// 创建加密转换流
CryptoStream cStream=new CryptoStream(mStream,
provider.CreateEncryptor(), CryptoStreamMode.Write);
// 使用UTF8编码获取输入字符串的字节。
byte[] toEncrypt=new UTF8Encoding().GetBytes(inputValue);
// 将字节写到转换流里面去。
cStream.Write(toEncrypt, 0, toEncrypt.Length);
cStream.FlushFinalBlock();
// 在调用转换流的FlushFinalBlock方法后,内部就会进行转换了,此时mStream就是加密后的流了。
byte[] ret=mStream.ToArray();
// Close the streams.
cStream.Close();
mStream.Close();
//将加密后的字节进行64编码。
return Convert.ToBase64String(ret);
}
/// <summary>
/// 获取加密服务类
/// </summary>
/// <returns></returns>
private TripleDESCryptoServiceProvider GetCryptoProvider()
{
TripleDESCryptoServiceProvider provider=new TripleDESCryptoServiceProvider();
provider.IV=Convert.FromBase64String(IV);
provider.Key=Convert.FromBase64String(Key);
return provider;
}
/// <summary>
/// 获取解密后的值
/// </summary>
/// <param name="inputValue">经过加密后的字符串.</param>
/// <returns></returns>
public string GetDecryptedValue(string inputValue)
{
TripleDESCryptoServiceProvider provider=this.GetCryptoProvider();
byte[] inputEquivalent=Convert.FromBase64String(inputValue);
// 创建内存流保存解密后的数据
MemoryStream msDecrypt=new MemoryStream();
// 创建转换流。
CryptoStream csDecrypt=new CryptoStream(msDecrypt,
provider.CreateDecryptor(),
CryptoStreamMode.Write);
csDecrypt.Write(inputEquivalent, 0, inputEquivalent.Length);
csDecrypt.FlushFinalBlock();
csDecrypt.Close();
//获取字符串。
return new UTF8Encoding().GetString(msDecrypt.ToArray());
}
}
}
关于Asp.net,C# 加密解密字符串的使用详解的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【asp】asp.net ubb使用代码-net-ubb使用
- 【默认图片】图片不存在使用默认图片代替的实例
- 【asp】asp.net 页面转向 Response.Redirect Ser
- 【jQuery】jQuery实现倒计时跳转的例子-倒计时跳
- 【记住】ASP.NET记住登陆用户名的具体实现-登陆-
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
