asp.net字符串加密解密技术
2023-06-13 09:14:08 时间
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Text;
usingSystem.Security.Cryptography;
usingSystem.IO;
namespacewww
{
publicpartialclassjiami:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
Bind();
}
privatevoidBind()
{
//加密
this.Title=DesEncrypt("pwd","abcd1234");
this.Title+=DesDecrypt(this.Title,"abcd1234");
Response.Write(DesDecrypt("2ikCw0TqKGo=","abcd1234"));
}
///<summary>
///加密字符串
///注意:密钥必须为8位
///</summary>
///<paramname="strText">字符串</param>
///<paramname="encryptKey">密钥</param>
///<paramname="encryptKey">返回加密后的字符串</param>
publicstringDesEncrypt(stringinputString,stringencryptKey)
{
byte[]byKey=null;
byte[]IV={0x12,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF};
try
{
byKey=System.Text.Encoding.UTF8.GetBytes(encryptKey.Substring(0,8));
DESCryptoServiceProviderdes=newDESCryptoServiceProvider();
byte[]inputByteArray=Encoding.UTF8.GetBytes(inputString);
MemoryStreamms=newMemoryStream();
CryptoStreamcs=newCryptoStream(ms,des.CreateEncryptor(byKey,IV),CryptoStreamMode.Write);
cs.Write(inputByteArray,0,inputByteArray.Length);
cs.FlushFinalBlock();
returnConvert.ToBase64String(ms.ToArray());
}
catch(System.Exceptionerror)
{
//returnerror.Message;
returnnull;
}
}
///<summary>
///解密字符串
///</summary>
///<paramname="this.inputString">加了密的字符串</param>
///<paramname="decryptKey">密钥</param>
///<paramname="decryptKey">返回解密后的字符串</param>
publicstringDesDecrypt(stringinputString,stringdecryptKey)
{
byte[]byKey=null;
byte[]IV={0x12,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF};
byte[]inputByteArray=newByte[inputString.Length];
try
{
byKey=System.Text.Encoding.UTF8.GetBytes(decryptKey.Substring(0,8));
DESCryptoServiceProviderdes=newDESCryptoServiceProvider();
inputByteArray=Convert.FromBase64String(inputString);
MemoryStreamms=newMemoryStream();
CryptoStreamcs=newCryptoStream(ms,des.CreateDecryptor(byKey,IV),CryptoStreamMode.Write);
cs.Write(inputByteArray,0,inputByteArray.Length);
cs.FlushFinalBlock();
System.Text.Encodingencoding=newSystem.Text.UTF8Encoding();
returnencoding.GetString(ms.ToArray());
}
catch(System.Exceptionerror)
{
//returnerror.Message;
returnnull;
}
}
}
}
相关文章
- 如何在ASP.NET MVC中获取客户端的IP地址?
- ASP.NET Core技术--使用客户端凭证保护API接口
- ASP.NET Core技术--使用用户密码保护API接口
- ASP.NET操作MySQL数据库技术实例(aspx操作mysql)
- Net缓存技术Redis:管理数据量大的梦想(net缓存技术redis)
- 使用.NET技术操作MySQL数据库:简单易学,高效稳定(.net操作mysql)
- .net利用MSSQL连接ASP.NET的办法探索(mssql 连接asp)
- 基于NET技术的Oracle信息服务(.net用oracle)
- NET 与 Oracle技术结合开启数据库新篇章(.net事物oracle)
- 建立企业级应用ASP系统与Oracle技术配合的良好实践(asp系统oracle)
- Net调用MySQL技术实践(.net 调用mysql)
- NET技术结合MySQL实现数据库访问极致体验(.net数据库mysql)
- REDIS锁技术提升NET应用性能(redis 锁 .net)
- asp.net下大文件上传知识整理
- asp.net动态载入用户控件的方法
- ASP.NET前后台调用方法
- asp.net实现静态页面累加访问量的三种方式
- asp.net下用Aspose.Wordsfor.NET动态生成word文档中的数据表格的方法
- asp.net多选项卡页面的创建及使用方法
- ASP.NET中的URL过滤实现代码
- .Net中导出数据到Excel(asp.net和winform程序中)
- Asp.net实时显示文本框字数实现代码
- asp.net上传图片并作处理水印与缩略图的实例代码
- ASP.NET小结之MVC,MVP,MVVM比较以及区别(二)
- ASP.NET使用GridView导出Excel实现方法
- asp.net页面SqlCacheDependency缓存实例