知识大全 Asp.net,C# 加密解密字符串

Posted 字节

篇首语:石可破也,而不可夺坚;丹可磨也,而不可夺赤。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Asp.net,C# 加密解密字符串相关的知识,希望对你有一定的参考价值。

Asp.net,C# 加密解密字符串  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  首先在nfig | nfig 文件下增加如下代码     <?xml version= ?>    <configuration>    <appSettings>    <add key= IV value= SuFjcEmp/TE= />    <add key= Key value= KIPSToILGp fl+ gXJvMsN IajizYBBT />    </appSettings>    </configuration>    IV:加密算法的初始向量     Key:加密算法的密钥     接着新建类CryptoHelper 作为加密帮助类     首先要从配置文件中得到IV 和Key 所以基本代码如下     public class CryptoHelper        //private readonly string IV = SuFjcEmp/TE= ;    private readonly string IV = string Empty;    //private readonly string Key = KIPSToILGp fl+ gXJvMsN IajizYBBT ;    private readonly string Key = string Empty;    /// <summary>    ///构造函数    /// </summary>    public CryptoHelper()        IV = ConfigurationManager AppSettings[ IV ];    Key = ConfigurationManager AppSettings[ Key ];            注意添加System Configuration dll程序集引用     在获得了IV 和Key 之后 需要获取提供加密服务的Service 类     在这里 使用的是System Security Cryptography; 命名空间下的TripleDESCryptoServiceProvider类     获取TripleDESCryptoServiceProvider 的方法如下     /// <summary>    /// 获取加密服务类    /// </summary>    /// <returns></returns>    private TripleDESCryptoServiceProvider GetCryptoProvider()        TripleDESCryptoServiceProvider provider = new TripleDESCryptoServiceProvider()     provider IV = Convert FromBase String(IV)     provider Key = Convert FromBase String(Key)     return provider;        TripleDESCryptoServiceProvider 两个有用的方法    CreateEncryptor:创建对称加密器对象ICryptoTransform     CreateDecryptor:创建对称解密器对象ICryptoTransform    加密器对象和解密器对象可以被CryptoStream对象使用 来对流进行加密和解密     cryptoStream 的构造函数如下     public CryptoStream(Stream stream ICryptoTransform transform CryptoStreamMode mode) 使用transform 对象对stream 进行转换     完整的加密字符串代码如下     /// <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)     // 使用UTF 编码获取输入字符串的字节     byte[] toEncrypt = new UTF Encoding() GetBytes(inputValue)     // 将字节写到转换流里面去     cStream Write(toEncrypt toEncrypt Length)     cStream FlushFinalBlock()     // 在调用转换流的FlushFinalBlock方法后 内部就会进行转换了 此时mStream就是加密后的流了     byte[] ret = mStream ToArray()     // Close the streams     cStream Close()     mStream Close()     //将加密后的字节进行 编码     return Convert ToBase String(ret)         解密方法也类似     /// <summary>    /// 获取解密后的值    /// </summary>    /// <param name= inputValue >经过加密后的字符串 </param>    /// <returns></returns>    public string GetDecryptedValue(string inputValue)        TripleDESCryptoServiceProvider provider = this GetCryptoProvider()     byte[] inputEquivalent = Convert FromBase String(inputValue)     // 创建内存流保存解密后的数据    MemoryStream msDecrypt = new MemoryStream()     // 创建转换流     CryptoStream csDecrypt = new CryptoStream(msDecrypt     provider CreateDecryptor()     CryptoStreamMode Write)     csDecrypt Write(inputEquivalent inputEquivalent Length)     csDecrypt FlushFinalBlock()     csDecrypt Close()     //获取字符串     return new UTF Encoding() GetString(msDecrypt ToArray())    

    完整的CryptoHelper代码如下     using System;    using System Collections Generic;    using System Linq;    using System Text;    using System Security Cryptography;    using System IO;    using System Configuration;    namespace WindowsFormsApplication         public class CryptoHelper        //private readonly string IV = SuFjcEmp/TE= ;    private readonly string IV = string Empty;    //private readonly string Key = KIPSToILGp fl+ gXJvMsN IajizYBBT ;    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)     // 使用UTF 编码获取输入字符串的字节     byte[] toEncrypt = new UTF Encoding() GetBytes(inputValue)     // 将字节写到转换流里面去     cStream Write(toEncrypt toEncrypt Length)     cStream FlushFinalBlock()     // 在调用转换流的FlushFinalBlock方法后 内部就会进行转换了 此时mStream就是加密后的流了     byte[] ret = mStream ToArray()     // Close the streams     cStream Close()     mStream Close()     //将加密后的字节进行 编码     return Convert ToBase String(ret)         /// <summary>    /// 获取加密服务类    /// </summary>    /// <returns></returns>    private TripleDESCryptoServiceProvider GetCryptoProvider()        TripleDESCryptoServiceProvider provider = new TripleDESCryptoServiceProvider()     provider IV = Convert FromBase String(IV)     provider Key = Convert FromBase String(Key)     return provider;        /// <summary>    /// 获取解密后的值    /// </summary>    /// <param name= inputValue >经过加密后的字符串 </param>    /// <returns></returns>    public string GetDecryptedValue(string inputValue)        TripleDESCryptoServiceProvider provider = this GetCryptoProvider()     byte[] inputEquivalent = Convert FromBase String(inputValue)     // 创建内存流保存解密后的数据    MemoryStream msDecrypt = new MemoryStream()     // 创建转换流     CryptoStream csDecrypt = new CryptoStream(msDecrypt     provider CreateDecryptor()     CryptoStreamMode Write)     csDecrypt Write(inputEquivalent inputEquivalent Length)     csDecrypt FlushFinalBlock()     csDecrypt Close()     //获取字符串     return new UTF Encoding() GetString(msDecrypt ToArray())                 使用例子 cha138/Article/program/net/201311/12266

相关参考

知识大全 加密和解密ASP.NET配置文件(Web.config)

加密和解密ASP.NET配置文件(Web.config)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 用ASP.NET加密Cookie数据

用ASP.NET加密Cookie数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Cookie

知识大全 使用ASP.Net加密Cookie[2]

使用ASP.Net加密Cookie[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 使用ASP.Net加密Cookie[1]

使用ASP.Net加密Cookie[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 使用ASP.Net加密Cookie[4]

使用ASP.Net加密Cookie[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 使用ASP.Net加密Cookie[3]

使用ASP.Net加密Cookie[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 使用ASP.Net加密Cookie[5]

使用ASP.Net加密Cookie[5]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 用ASP.NET加密口令的方法

用ASP.NET加密口令的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  每当我们要建立数据

知识大全 ASP.NET中几种加密方法

ASP.NET中几种加密方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  MD的全称是Mess

知识大全 ASP.Net中如何实现RSA加密

ASP.Net中如何实现RSA加密  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在我们实际运用