- 浏览: 145542 次
- 性别:
- 来自: 成都
文章分类
最新评论
view plaincopy to clipboardprint?
//名称空间
using System;
using System.Security.Cryptography;
using System.IO;
using System.Text;
//方法
//加密方法
public string Encrypt(string pToEncrypt, string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
//把字符串放到byte数组中
//原来使用的UTF8编码,我改成Unicode编码了,不行
byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);
//byte[] inputByteArray=Encoding.Unicode.GetBytes(pToEncrypt);
//建立加密对象的密钥和偏移量
//原文使用ASCIIEncoding.ASCII方法的GetBytes方法
//使得输入密码必须输入英文文本
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(),CryptoStreamMode.Write);
//Write the byte array into the crypto stream
//(It will end up in the memory stream)
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
//Get the data back from the memory stream, and into a string
StringBuilder ret = new StringBuilder();
foreach(byte b in ms.ToArray())
{
//Format as hex
ret.AppendFormat("{0:X2}", b);
}
ret.ToString();
return ret.ToString();
}
//解密方法
public string Decrypt(string pToDecrypt, string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
//Put the input string into the byte array
byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
for(int x = 0; x < pToDecrypt.Length / 2; x++)
{
int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
inputByteArray[x] = (byte)i;
}
//建立加密对象的密钥和偏移量,此值重要,不能修改
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(),CryptoStreamMode.Write);
//Flush the data through the crypto stream into the memory stream
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
//Get the decrypted data back from the memory stream
//建立StringBuild对象,CreateDecrypt使用的是流对象,必须把解密后的文本变成流对象
StringBuilder ret = new StringBuilder();
return System.Text.Encoding.Default.GetString(ms.ToArray());
}
//-------代码完毕--------------------
//名称空间
using System;
using System.Security.Cryptography;
using System.IO;
using System.Text;
//方法
//加密方法
public string Encrypt(string pToEncrypt, string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
//把字符串放到byte数组中
//原来使用的UTF8编码,我改成Unicode编码了,不行
byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);
//byte[] inputByteArray=Encoding.Unicode.GetBytes(pToEncrypt);
//建立加密对象的密钥和偏移量
//原文使用ASCIIEncoding.ASCII方法的GetBytes方法
//使得输入密码必须输入英文文本
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(),CryptoStreamMode.Write);
//Write the byte array into the crypto stream
//(It will end up in the memory stream)
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
//Get the data back from the memory stream, and into a string
StringBuilder ret = new StringBuilder();
foreach(byte b in ms.ToArray())
{
//Format as hex
ret.AppendFormat("{0:X2}", b);
}
ret.ToString();
return ret.ToString();
}
//解密方法
public string Decrypt(string pToDecrypt, string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
//Put the input string into the byte array
byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
for(int x = 0; x < pToDecrypt.Length / 2; x++)
{
int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
inputByteArray[x] = (byte)i;
}
//建立加密对象的密钥和偏移量,此值重要,不能修改
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(),CryptoStreamMode.Write);
//Flush the data through the crypto stream into the memory stream
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
//Get the decrypted data back from the memory stream
//建立StringBuild对象,CreateDecrypt使用的是流对象,必须把解密后的文本变成流对象
StringBuilder ret = new StringBuilder();
return System.Text.Encoding.Default.GetString(ms.ToArray());
}
//-------代码完毕--------------------
注意:sKey输入密码的时候,必须使用英文字符,区分大小写,且字符数量是8个,不能多也不能少,否则出错。
本人使用Windows2000 Server .Net Framework SP3 ,VS.Net下在asp.net下使用成功,加密解密正常!
发表评论
-
SQL Server 2008 R2 中英文 开发版/企业版/标准版 链接地址
2015-01-19 11:08 1012SQL Server 2008 R2 中英文 开发版/企业版/ ... -
C# SQLSERVER2008数据库备份和还原的两种方法 (有进度条)
2013-06-21 11:01 2069C# SQLSERVER2008数据库备份和还原的两种方 ... -
C#的web Service 调用的简单例子
2013-01-10 15:18 1287是webservice.就概念上来说,可能比较复杂,不 ... -
编程的三种循环
2011-12-20 10:37 955大家都应该知道,其实java和C#都出自同师门的。虽然他们是不 ... -
农历,阳历 倒计时源码
2011-11-15 13:49 1017自己没事写了一个倒计时,里面有每年阳历的倒计时和农历的倒计时。 ... -
winform 特殊字符判断控件下载
2011-09-20 10:30 1567以前我听说过一个软件科技公司,写了一个控件,只要在那个软件里面 ... -
iis发布网站
2011-07-27 10:25 814本人自己写的,给大家参考的。 1.安装iis(网络上下载 ... -
鼠标和键盘事件
2011-07-15 11:28 1099鼠标事件有11个,常用八个,都不用说了。click,Doubl ... -
winform读写ini配置文件
2011-07-14 11:29 1506public static string re ... -
winform 增删改查
2011-07-13 16:27 1891增删改,是一个样的指令: //添加物品 ... -
winform中的datagridview数据添加方式
2011-07-13 16:10 5118winform中的datagridview数据添加方式,在我现 ... -
Winform的dataGridView中添加序号
2011-07-13 15:40 6437dataGridView的RowPostPa ... -
vs多级树动态加载
2011-06-25 22:37 1042private void LoadCategoryTree ... -
VS2008 验证控件的用法
2011-05-23 11:09 3864ASP.NET为开发人员提供了 ... -
<meta name="description" content="string"/> 用法
2011-03-16 11:59 855一、语法: <meta name="nam ... -
利用js获取服务器时间的两个简单方法
2011-03-02 18:02 1186有时用js来获取服务 ... -
Asp收藏当前页面的网址到收藏夹
2011-01-13 11:28 805<%function getip '获 ... -
如果获取asp.net上的url
2011-01-13 10:41 805HttpContext.Current.Request.U ... -
asp.net(fileupload)上传图片预览
2010-12-21 10:55 8043<script language="java ... -
asp上传图片及删除图片,并从文件夹里删除
2010-12-16 15:21 3920一.上传图片 public s ...
相关推荐
ASP代码加密工具是一款可以满足您任何需要的ASP加密工具,可以将整个网站的ASP页面代码实现完美加密,即使代码被下载,也无法破解出真正源码。 主要功能 彻底加密源代码,可达到彻底保护知识产权的目的,加密...
ASP代码加密工具是一种专门针对ASP(Active Server Pages)脚本编程语言设计的安全防护软件。它主要的功能是将开发者编写的ASP源代码进行加密处理,以此来保护代码不被轻易读取和盗用,确保知识产权的安全。 ASP是...
ASP代码加密是网络开发中的一种安全措施,主要目的是保护开发者编写的ASP(Active Server Pages)源代码不被轻易查看和篡改,确保知识产权不受侵犯。ASP是一种微软公司开发的服务器端脚本语言,广泛用于创建动态网页...
在互联网开发中,源代码是程序员的心血结晶,包含了许多商业逻辑和敏感信息,因此,对ASP代码进行加密是确保知识产权和数据安全的重要措施。 加密ASP代码的主要目标是防止恶意用户通过查看源代码获取敏感信息,如...
在ASP中,有时候为了保护源代码的安全,开发者会使用加密技术来混淆代码,防止他人轻易阅读和理解。"vb.encode"是ASP中一种常见的加密方法,它通过对ASP源代码进行编码,使得代码在未解密的情况下看起来难以理解。 ...
asp加密工具 ,用于加密asp脚本。 可以防止查看源代码,也可以逃过asp木马的查杀。
本人已测试,非常好用的,ASP混淆加密解密工具
本资源"asp.net加密元件,反加密(源代码)"提供了一套详细的加密和解密机制,特别适用于ASP.NET Web服务(webservice)中的应用。下面我们将深入探讨这些知识点: 1. ASP.NET 加密: ASP.NET 提供了多种加密选项,...
ASP混天绫是一款完全免费的ASP混淆加密工具,也是国内第一款ASP混淆器,通过混淆代码来实现保护知识产权的目的,变量和方法名字混淆之后无法还原。混淆之后的代码难以阅读,也难以修改。虽然保护强度不如封装DLL,...
2. **导入代码**:在软件界面中选择要加密的ASP源文件。 3. **配置设置**:根据需求调整加密选项,如混淆程度、是否启用反调试等。 4. **加密处理**:点击“加密”按钮,软件将处理源代码并生成加密后的文件。 5. **...
ASP.NET URL参数传递加密及解密是Web应用程序中常见的安全措施,主要目的是保护用户数据的隐私,防止中间人攻击和数据篡改。在ASP.NET框架中,我们可以利用内置的加密解密工具来实现这一功能。以下是一些关于如何在...
通过上述步骤,我们成功地在ASP.NET中实现了基于DES的加密和解密功能。需要注意的是,虽然DES提供了基本的数据保护,但对于高度敏感的信息,建议使用更强大的加密算法,例如AES。此外,在实际应用中还需要考虑密钥...
"微软asp加密工具ecode"是一款专门针对ASP页面进行加密的专业工具。它通过一系列复杂的算法,将ASP源代码转换成不可读的形式,从而保护网站的知识产权和敏感信息。这种加密过程通常包括混淆代码、加密字符串和变量等...
上次曾经传过一个易宝、支付宝、财付通、云网等多用MD5加密程序。 易宝是采用hmac的MD5加密,提供的ASP版函数不支持中文,使用dll注册那个兼容又不太好。 上次我发布的加密程序也不支持中文,且支付宝那个加密函数是...
加密asp脚本解密工具,加密asp脚本解密工具加密,asp脚本解密工具加密,asp脚本解密工具加密,asp脚本解密工具
在ASP(Active Server ...以上仅是ASP加密解密的简单介绍,实际应用中可能需要结合各种方法,并且考虑安全性和效率。压缩包中的“ASP常用加密解密”可能包含更多实例和详细教程,可以帮助你进一步理解并实践这些方法。
在提供的压缩包文件中,"asp代码加密解密程序"可能包含一个或多个用于加密和解密ASP代码的工具或示例。在使用这些工具前,务必评估其安全性和可靠性,并遵循许可协议,以避免潜在的法律风险。 总之,ASP代码加密与...
asp代码加密大师,好用的asp代码加密工具
在ASP.NET中实现RSA加密,通常使用.NET Framework提供的System.Security.Cryptography命名空间中的RSACryptoServiceProvider类。首先,你需要生成一对RSA密钥,这可以通过RSACryptoServiceProvider的Create()方法...
ASP MD5加密程序.rar