`
- 浏览:
122013 次
- 性别:
- 来自:
深圳
-
ASP.NET加密技术的应用
加密类代码
/**//**//**//**********************CreatedbyChen**************************
*如果你觉得本人的文章好,要引用请尊重著作人的劳动果实,说明
*出处以及原创作者,Thankyou!!!email:aishen944-sohu.com
*******************************************************************/
usingSystem;
usingSystem.Text;
usingSystem.Security;
usingSystem.Security.Cryptography;
usingSystem.IO;
namespaceEncryptClasses
...{
/**//**//**////<summary>
///此处定义的是DES加密,为了便于今后的管理和维护
///请不要随便改动密码,或者改变了密码后请一定要
///牢记先前的密码,否则将会照成不可预料的损失
///</summary>
publicclassDESEncrypt
...{
"memberfields""memberfields"#region"memberfields"
privatestringiv="12345678";
privatestringkey="12345678";
privateEncodingencoding=newUnicodeEncoding();
privateDESdes;
#endregion
/**//**//**////<summary>
///构造函数
///</summary>
publicDESEncrypt()
...{
des=newDESCryptoServiceProvider();
}
"propertys""propertys"#region"propertys"
/**//**//**////<summary>
///设置加密密钥
///</summary>
publicstringEncryptKey
...{
get...{returnthis.key;}
set
...{
this.key=value;
}
}
/**//**//**////<summary>
///要加密字符的编码模式
///</summary>
publicEncodingEncodingMode
...{
get...{returnthis.encoding;}
set...{this.encoding=value;}
}
#endregion
"methods""methods"#region"methods"
/**//**//**////<summary>
///加密字符串并返回加密后的结果
///</summary>
///<paramname="str"></param>
///<returns></returns>
publicstringEncryptString(stringstr)
...{
byte[]ivb=Encoding.ASCII.GetBytes(this.iv);
byte[]keyb=Encoding.ASCII.GetBytes(this.EncryptKey);//得到加密密钥
byte[]toEncrypt=this.EncodingMode.GetBytes(str);//得到要加密的内容
byte[]encrypted;
ICryptoTransformencryptor=des.CreateEncryptor(keyb,ivb);
MemoryStreammsEncrypt=newMemoryStream();
CryptoStreamcsEncrypt=newCryptoStream(msEncrypt,encryptor,CryptoStreamMode.Write);
csEncrypt.Write(toEncrypt,0,toEncrypt.Length);
csEncrypt.FlushFinalBlock();
encrypted=msEncrypt.ToArray();
csEncrypt.Close();
msEncrypt.Close();
returnthis.EncodingMode.GetString(encrypted);
}
/**//**//**////<summary>
///加密指定的文件,如果成功返回True,否则false
///</summary>
///<paramname="filePath">要加密的文件路径</param>
///<paramname="outPath">加密后的文件输出路径</param>
publicvoidEncryptFile(stringfilePath,stringoutPath)
...{
boolisExist=File.Exists(filePath);
if(isExist)//如果存在
...{
byte[]ivb=Encoding.ASCII.GetBytes(this.iv);
byte[]keyb=Encoding.ASCII.GetBytes(this.EncryptKey);
//得到要加密文件的字节流
FileStreamfin=newFileStream(filePath,FileMode.Open,FileAccess.Read);
StreamReaderreader=newStreamReader(fin,this.EncodingMode);
stringdataStr=reader.ReadToEnd();
byte[]toEncrypt=this.EncodingMode.GetBytes(dataStr);
fin.Close();
FileStreamfout=newFileStream(outPath,FileMode.Create,FileAccess.Write);
ICryptoTransformencryptor=des.CreateEncryptor(keyb,ivb);
CryptoStreamcsEncrypt=newCryptoStream(fout,encryptor,CryptoStreamMode.Write);
try
...{
//加密得到的文件字节流
csEncrypt.Write(toEncrypt,0,toEncrypt.Length);
csEncrypt.FlushFinalBlock();
}
catch(Exceptionerr)
...{
thrownewApplicationException(err.Message);
}
finally
...{
try
...{
fout.Close();
csEncrypt.Close();
}
catch
...{
;
}
}
}
else
...{
thrownewFileNotFoundException("没有找到指定的文件");
}
}
/**//**//**////<summary>
///文件加密函数的重载版本,如果不指定输出路径,
///那么原来的文件将被加密后的文件覆盖
///</summary>
///<paramname="filePath"></param>
publicvoidEncryptFile(stringfilePath)
...{
this.EncryptFile(filePath,filePath);
}
/**//**//**////<summary>
///解密给定的字符串
///</summary>
///<paramname="str">要解密的字符</param>
///<returns></returns>
publicstringDecryptString(stringstr)
...{
byte[]ivb=Encoding.ASCII.GetBytes(this.iv);
byte[]keyb=Encoding.ASCII.GetBytes(this.EncryptKey);
byte[]toDecrypt=this.EncodingMode.GetBytes(str);
byte[]deCrypted=newbyte[toDecrypt.Length];
ICryptoTransformdeCryptor=des.CreateDecryptor(keyb,ivb);
MemoryStreammsDecrypt=newMemoryStream(toDecrypt);
CryptoStreamcsDecrypt=newCryptoStream(msDecrypt,deCryptor,CryptoStreamMode.Read);
try
...{
csDecrypt.Read(deCrypted,0,deCrypted.Length);
}
catch(Exceptionerr)
...{
thrownewApplicationException(err.Message);
}
finally
...{
try
...{
msDecrypt.Close();
csDecrypt.Close();
}
catch...{;}
}
returnthis.EncodingMode.GetString(deCrypted);
}
/**//**//**////<summary>
///解密指定的文件
///</summary>
///<paramname="filePath">要解密的文件路径</param>
///<paramname="outPath">解密后的文件输出路径</param>
publicvoidDecryptFile(stringfilePath,stringoutPath)
...{
boolisExist=File.Exists(filePath);
if(isExist)//如果存在
http://images.csdn.net/syntaxhighlighting/Outlin
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
本资源"asp.net加密元件,反加密(源代码)"提供了一套详细的加密和解密机制,特别适用于ASP.NET Web服务(webservice)中的应用。下面我们将深入探讨这些知识点: 1. ASP.NET 加密: ASP.NET 提供了多种加密选项,...
.NET加密技术是软件开发中确保数据安全的重要环节,它涵盖了多种加密算法和方法,用于保护敏感信息不被未经授权的人员访问。对称加密技术是一种常见的加密手段,它以其高效和简单的特点,在.NET框架中得到了广泛应用...
在ASP.NET中,加密是确保数据安全的关键技术,它用于保护敏感信息,如用户密码、个人信息等,防止未经授权的访问。本文将深入探讨ASP.NET中的加密类以及如何利用它们进行地址参数加密。 1. **加密基础** - **加密...
通过使用加密技术,可以确保即使应用程序配置文件被未经授权的人访问,用户的凭据也不会轻易泄露。此外,该类还提供了读取XML配置文件的功能,这在处理更复杂的应用程序配置场景时非常有用。 需要注意的是,实际...
三、ASP.NET加密解密工具的使用 在ASP.NET中,可以使用System.Security.Cryptography命名空间中的类来实现加密和解密操作。例如,使用AES加密: ```csharp using System.IO; using System.Text; using System....
在 ASP.NET 应用程序中,我们可以使用 XML 加密和解密技术来保护 XML 数据。XML 加密和解密可以使用 System.Security.Cryptography 命名空间中的类来实现。 五、ASP.NET 加密解密技巧 在 ASP.NET 应用程序中,我们...
在ASP.NET中,主要使用两种加密技术:对称加密和非对称加密。 1. 对称加密: 对称加密使用相同的密钥进行加密和解密。常见的对称加密算法有DES、3DES、AES等。例如,使用AES(高级加密标准)时,可以使用`System....
ASP.NET URL参数传递加密及解密是Web应用程序中常见的安全措施,主要目的是保护用户数据的隐私,防止中间人攻击和数据篡改。在ASP.NET框架中,我们可以利用内置的加密解密工具来实现这一功能。以下是一些关于如何在...
在ASP.NET中,为了保护敏感数据的安全,加密和解密技术是必不可少的。本文将详细介绍三种常见的加密解密方法,并通过实例演示如何在ASP.NET环境中应用它们。 1. **使用内置的System.Security.Cryptography库** ASP...
这个DEMO可能包含了上述各种加密方式的实例代码,帮助开发者了解如何在ASP.NET项目中集成和使用这些加密技术。通过学习和实践,开发者能够更好地理解每种加密算法的原理和适用场景,从而选择最适合特定需求的安全...
【标题】"bbs论坛源代码 asp.net web开发"涉及的是使用ASP.NET技术构建一个BBS(Bulletin Board System,电子公告板)论坛网站的过程。ASP.NET是微软公司推出的一种Web应用程序框架,它构建在.NET Framework之上,为...
标题“入门级asp.net加密”意味着我们将探讨的是ASP.NET中基础但实用的加密方法。加密是一种将明文数据转换为密文的过程,目的是防止未经授权的访问者解读敏感信息。在ASP.NET中,我们通常会用到以下几种加密技术: ...
通过阅读这本书和配套的源代码实践,读者不仅能够理解ASP.NET的技术原理,还能学会如何将这些知识应用于实际项目中,从而成为一名熟练的ASP.NET开发者。对于初学者,这本书提供了从理论到实践的全面学习路径;对于有...
本篇文章将深入探讨ASP.NET中的一些常用技术,包括ASP.NET MVC、DBHelper以及加密技术。 ASP.NET MVC(Model-View-Controller)是一种设计模式,它将应用程序的业务逻辑、用户界面和数据访问分离开来,以提高可测试...
在ASP.NET中实现RSA加密,通常使用.NET Framework提供的System.Security.Cryptography命名空间中的RSACryptoServiceProvider类。首先,你需要生成一对RSA密钥,这可以通过RSACryptoServiceProvider的Create()方法...
总的来说,通过分析和学习这个ASP.NET (C#)网上书店源代码,开发者不仅可以掌握ASP.NET Web应用程序的开发,还能深入了解电子商务系统的核心功能和设计原则,对于提升Web开发技能和实践经验非常有帮助。
这个"asp.net加密解密实例"提供了实现这一目标的简单而直观的方法。以下将详细讲解相关知识点,包括加密的基本概念、ASP.NET中常用的加密算法以及如何在实际项目中应用。 1. **加密与解密基础**: - **加密**:是...
在ASP.NET中,有多种加密技术可以用于密码保护,例如:哈希(Hashing)、对称加密和非对称加密。 1. **哈希加密**:这是最常用的密码存储方法。ASP.NET提供了`System.Web.Security`命名空间中的`Forms...
ASP.NET 是微软开发的一种用于构建Web应用程序的框架,它提供了丰富的功能和工具,使得开发者能够高效地构建动态、数据驱动的网站。在“ASP.NET分布式数据应用程序高级编程”这个主题中,我们将深入探讨如何利用ASP...
8. **安全与身份验证**:涵盖ASP.NET的安全特性,如身份验证、授权、加密解密,确保应用程序的安全性。 9. **部署与优化**:讨论如何将应用程序部署到各种环境,以及性能调优策略,确保应用在生产环境中高效运行。 ...