.NET加密方法收集
来源:互联网 发布:检测报告单数据怎么看 编辑:程序博客网 时间:2024/05/23 19:17
NET中MD5加密方法怎么用??在哪个名称空间下??
在这个命名空间using System.Security.Cryptography;
具体的代码是:
public static Byte[] ConvertStringToByteArray(String s)
{
return (new UnicodeEncoding()).GetBytes(s);
}
byte[] byte_pwd = ConvertStringToByteArray(pwd);加密前的密码
byte[] result_pwd = ((HashAlgorithm) CryptoConfig.CreateFromName("MD5")).ComputeHash(byte_pwd);
string pwd(加密后的密码)= BitConverter.ToString(result_pwd);
1。nd5加密示例-------------------------------------------------------------------------------------
using System;
namespace Directory
{
/// <summary>
/// MD5Encode 的摘要说明。
/// </summary>
public class MD5Encode
{
public string Encode(string SourceString)
{
string Result=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(SourceString,"MD5");
return Result;
}
}
}
2。使用散列算法对数据进行加密 --------------------------------------------------------------
大多数开发人员使用数据库存储密码。但是,在数据库中查找用户数据的人员也能够看到这些密码。将密码以明文的方式存储在数据库中,是很不安全的。你可以使用散列算法对密码进行加密,然后再将其存储在数据库中。用户输入密码后,你可以再次使用散列算法对其进行解密,然后将其与存储在数据库中的散列进行比较。
.Net开发人员可以使用多种加密算法,最常用的是 SHA1 和 MD5。本文将介绍在如何使用MD5算法对密码进行加密。
代码很简单:
using System.Security.Cryptography;
public string PwdEncrypt(string Pwd) //密码加密
{
MD5 md5=new MD5CryptoServiceProvider();
byte[] data=System.Text.Encoding.Default.GetBytes(Pwd );
byte[] md5data=md5.ComputeHash(data);
md5.Clear();
string Str="";
for (int i=0;i<md5data.Length-1;i++)
{
Str+=md5data[i].ToString("x").PadLeft(2,'0');
}
return Str;
}
加密后的字符串看起来也与原始输入相去甚远。这些散列算法对于创建没有任何意义的密码来说非常有用,也使其它人很难猜出这些密码。使用散列算法对原始密码加密后将无法再恢复。
在散列中添加一些“盐”值
到目前为止,散列算法暴露出来的问题之一是,如果两个用户碰巧使用相同的密码,那么散列值将完全相同。如果黑客看到存储密码的表格,会从中找到规律并明白很可能是使用了常见的词语,然后黑客会开始词典攻击以确定这些密码。要确保任何两个用户密码的散列值都不相同,一种方法是在加密密码之前,在每个用户的密码中添加一个唯一的值。这个唯一值称为“盐”值。在进行此操作时,需要确保将使用的盐值存储为用户记录的一部分。如果使用表格存储用户 ID 和密码,建议使用不同的表格来存储盐值。这样,即使数据库泄漏,盐值也可以提供一层额外的安全保护。
在用户密码中添加盐值的方法有多种。最简单的方法是摘取用户的某些信息(例如姓、名、电子邮件地址或员工 ID)并将其添加到用户密码中,然后再进行加密。这种方法的缺点是,因为需要存储盐值,所以如果黑客找到该值,将会对你所做的一切操作了如指掌。当然,黑客需要花费额外的时间来破解盐值,但这对黑客来说简直是易如反掌。
另外一种方法是使用 .NET Framework 类 RNGCryptoServiceProvider 创建一个随机的数字字符串。RNG 表示随机数生成器。该类可以创建一个任意长度的随机字节数组。可以使用此随机字节数组作为散列算法的盐值。要采用这种方法,必须安全地存储该盐值。
有关加密的详细信息,查阅微软的“Microsoft .NET 中的简化加密”。
http://www.microsoft.com/china/msdn/archives/library/dnnetsec/html/cryptosimplified.asp#cryptogr_topic3
3。又一个md5加密----------------------------------------------------------------------
public static string Encrypt(string Password,int Format)
{
string str = "";
switch(Format)
{
case 0:
str = FormsAuthentication.HashPasswordForStoringInConfigFile(Password,"SHA1");
break;
case 1:
str = FormsAuthentication.HashPasswordForStoringInConfigFile(Password,"MD5");
break;
}
return str;
}
- .NET加密方法收集
- ASP.net加密方法
- .net 加密方法记录
- .net数据加密方法
- .Net MD5加密方法
- .net的加密解密方法
- .net中的加密解密方法
- ASP.NET中几种加密方法
- .net常用加密解密方法
- .net常用加密解密方法
- 加密网址方法csdn.net
- [收集]MD5的加密在.net中的应用
- C# 常用加密方法收集 对称,非对称
- [收集]c#.net函数和方法集
- [收集]c#.net函数和方法集
- .NET中自定义控件编写方法收集
- .NET加密原理之方法体加密信息对应关系
- ASP.net中md5加密的方法
- 装箱拆箱续
- test
- 正则表达式
- 让firefox更适合自己
- 想回家看看
- .NET加密方法收集
- 用 MD5 加密数据库中的用户密码
- IT行业
- .NET中COOKIES跨域解决办法
- SQL多条件查询
- Visual Studio Team System单服务器部署
- 今天是一事无成的一天啊
- 骗子公司 黑中介 广州市汇雄人才服务公司
- 骗子公司 黑中介 黑到几时?