asp.net 字符串加密解密技术_实用技巧

复制代码 代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
using System.Security.Cryptography;
using System.IO;
namespace www
{
public partial class jiami : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Bind();
}
private void Bind()
{
//加密
this.Title = DesEncrypt("pwd", "abcd1234");
this.Title += DesDecrypt(this.Title, "abcd1234");
Response.Write(DesDecrypt("2ikCw0TqKGo=", "abcd1234"));
}
/// <summary>
/// 加密字符串
/// 注意:密钥必须为8位
/// </summary>
/// <param name="strText">字符串</param>
/// <param name="encryptKey">密钥</param>
/// <param name="encryptKey">返回加密后的字符串</param>
public string DesEncrypt(string inputString, string encryptKey)
{
byte[] byKey = null;
byte[] IV = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
try
{
byKey = System.Text.Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray = Encoding.UTF8.GetBytes(inputString);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byKey, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
return Convert.ToBase64String(ms.ToArray());
}
catch (System.Exception error)
{
//return error.Message;
return null;
}
}
/// <summary>
/// 解密字符串
/// </summary>
/// <param name="this.inputString">加了密的字符串</param>
/// <param name="decryptKey">密钥</param>
/// <param name="decryptKey">返回解密后的字符串</param>
public string DesDecrypt(string inputString, string decryptKey)
{
byte[] byKey = null;
byte[] IV = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
byte[] inputByteArray = new Byte[inputString.Length];
try
{
byKey = System.Text.Encoding.UTF8.GetBytes(decryptKey.Substring(0, 8));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
inputByteArray = Convert.FromBase64String(inputString);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
System.Text.Encoding encoding = new System.Text.UTF8Encoding();
return encoding.GetString(ms.ToArray());
}
catch (System.Exception error)
{
//return error.Message;
return null;
}
}
}
}

时间: 2024-10-28 12:19:43

asp.net 字符串加密解密技术_实用技巧的相关文章

asp.net web.config加密解密方法_实用技巧

使用命令行工具aspnet_regiis.exe 你还能够使用aspnet_regiis.exe命令行工具来加密和解密Web.config文件配置部分,你可以在"%WINDOWSDIR%\Microsoft.Net\Framework\version"目录下找到这个工具.为了加密Web.config文件中的一个节,你可以在这个命令行工具中使用DPAPI机器密钥,如下所示: 加密一个特定网站的Web.config文件的通用形式: 复制代码 代码如下: aspnet_regiis.exe

asp字符串加密解密函数_应用技巧

<%  A_Key=split("96,44,63,80",",") '定义密钥  '*********加密的过程*********  Function EnCrypt(m)  Dim strChar,iKeyChar,iStringChar,I  k=0  for I = 1 to Len(m)  iKeyChar =Cint(A_Key(k))  iStringChar = Asc(mid(m,I,1)) '获取字符的ASCII码值  iCryptChar

ASP.NET用户控件技术_实用技巧

我们发现,利用代码绑定技术我们可以容易的将我们的代码和内容分离开来,利用它可以建立可重用的代码,只是这种技术本身也存在着一些局限性.在本文中,我们将会一同探讨另外一种新的ASP.NET技术:用户控件.    什么是用户控件(User Controls)?  为了能更好的理解用户控件的重要性,我们先来看看一段小小的"历史".在以前的ASP当中,可重用的技术实现选择是相当受限制的.许多的开发者一般都是借助将公共的常用的子过程放到那些包含文件当中的做法来实现一定的所谓代码重用的.比如,如我们

asp.net字符串处理类代码_实用技巧

复制代码 代码如下: using System; using System.Collections; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions; using System.Security.Cryptography; using System.IO; using System.Text; namespace StringClass { public class

asp.net EncryptHelper 加密帮助类_实用技巧

复制代码 代码如下: /************************************************** * 版权所有: Mr_Sheng * 文 件 名: EncryptHelper.cs * 文件描述: * 类型说明: EncryptHelper 加密帮助类 * 授权声明: * 本程序为自由软件: * 您可依据自由软件基金会所发表的GPL v3授权条款,对本程序再次发布和/或修改: * 本程序是基于使用目的而加以发布,然而不负任何担保责任: * 亦无对适售性或特定目的适用

php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法_php技巧

本文实例讲述了php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法.分享给大家供大家参考,具体如下: 由于出于安全考虑,参数传递的时候需要进行加密和解密,一个比较简单的方法是直接使用php中的函数mcrypt_encrypt.mcrypt_decrypt,一个加密,一个解密,但是问题又出现了,这个加密过程中会产生一些使url混乱的符号,于是在加密后对加密字符再进行一次处理,然后多了一一次解析: $key = "miyao";//密钥 $strin

Win 2000下ASP.NET开发环境的配置_实用技巧

Win 2000下ASP.NET的配置 Win 2000(包括Professional,Server和Advanced Server)在默认情况下是不支持ASP.NET的.必须对它进行一个环境的配置. 客户端 SQL Server .NET 数据提供程序 Microsoft 数据访问组件 (MDAC) 2.6 或更高版本 对系统管理信息的访问 Windows Management Instrumentation (WMI)(在 Windows 2000操作系统一起安装)COM+ 服务 Windo

在ASP.Net中实现RSA加密的方法_实用技巧

在我们实际运用中,加密是保证数据安全的重要手段.以前使用ASP时,对数据加密可以使用MD5和SHA1算法,这两种算法虽然快捷有效,但是无法对通过它们加密的密文进行反运算,即是解密.因此需要解密数据的场合,这两种方法就不太适合了.当然你也可以自己编写适用的加密和解密程序,不过这对编写者的数学水平有很高的要求,一般人是很难做到的. 现在,随着ASP.Net的推出,彻底改变了以前ASP下的编程模式.我们能够利用.Net Framework中的类提供的加密服务来保证数据安全.目前应用较为广泛的加密方法是

全面剖析.Net环境下的缓存技术_实用技巧

一. 概念1.1   缓存能解决的问题· 性能--将相应数据存储起来以避免数据的重复创建.处理和传输,可有效提高性能.比如将不改变的数据缓存起来,例如国家列表等,这样能明显提高web程序的反应速度: · 稳定性--同一个应用中,对同一数据.逻辑功能和用户界面的多次请求时经常发生的.当用户基数很大时,如果每次请求都进行处理,消耗的资源是很大的浪费,也同时造成系统的不稳定.例如,web应用中,对一些静态页面的呈现内容进行缓存能有效的节省资源,提高稳定性.而缓存数据也能降低对数据库的访问次数,降低数据