本文介绍ASP.NET Membership,以及介绍Anders Liu仅研究了SqlMembershipProvider,该类位于System.Web.dll,System.Web.Security命名空间中。

原本计划写一篇介绍怎么完成用户登录功用的文章的,但因为时刻有限,所以先介绍一下暗码的散列和ASP.NET Membership

概述ASP.NET Membership(概述是什么意思)  ASP.NET Membership 第1张

1.加Salt散列

咱们知道,假如直接对暗码进行散列,那么黑客(总称那些有才能盗取用户数据并妄图得到用户暗码的人)能够对一个已知暗码进行散列,然后经过比照散列值得到某用户的暗码。换句话说,尽管黑客不能获得某特定用户的暗码,但他能够知道运用特定暗码的用户有哪些。

加Salt能够必定程度上处理这一问题。所谓加Salt,便是加点“佐料”。其根本主意是这样的——当用户***供给暗码时(通常是注册时),由体系主动往这个暗码里撒一些“佐料”,然后再散列。而当用户登录时,体系为用户供给的代码撒上相同的“佐料”,然后散列,再比较散列值,已确认暗码是否正确。

这儿的“佐料”被称作“Salt值”,这个值是由体系随机生成的,而且只要体系知道。这样,即使两个用户运用了同一个暗码,因为体系为它们生成的salt值不同,他们的散列值也是不同的。即使黑客能够经过自己的暗码和自己生成的散列值来找具有特定暗码的用户,但这个几率太小了(暗码和salt值都得和黑客运用的相同才行)。

下面具体介绍一下加Salt散列的进程。介绍之前先着重一点,前面说过,验证暗码时要运用和开始散列暗码时运用“相同的”佐料。所以Salt值是要寄存在数据库里的。

2.ASP.NET Membership中的相关代码

(省掉关于Membership的介绍若干字)

本文Anders Liu仅研讨了SqlMembershipProvider,该类坐落System.Web.dll,System.Web.Security命名空间中。

首要,要运用Membership,有必要先用aspnet_regsql.exe指令来装备数据库,该东西会向现有数据库中增加一系列表和存储进程等,装备好的数据库中有一个表aspnet_Membership,便是用于寄存用户帐户信息的。其间咱们所重视的列有三个——Password、PasswordFormat和PasswordSalt。

Password寄存的是暗码的散列值,PasswordFormat寄存用于散列暗码所运用的算法,PasswordSalt便是体系生成的Salt值了。

3.小结

本文仅仅简略地介绍了加Salt散列的工作办法(而非原理)、ASP.NET Membership中对其的完成。经过本文咱们尽管无法对加Salt加密的有点和原理“知其所以然”,但信任咱们应该大致了解了这种办法的运用办法,并能经过修正Membership的代码完成自己的暗码散列存储了。

因为时刻有限,Anders Liu这篇文章写得很马虎,罗列了不少代码却没有体系性介绍,还望咱们宽恕。下一篇文章我将相对完整地介绍怎么完成自己的用户登录(无需运用MembershipProvider,但一起也丧失了Login等控件为咱们带来的便当)。

【修改引荐】

  1. ASP.NET开发技巧之Theme功用浅析
  2. 详解ASP.NET动态编译
  3. Apache支撑ASP.NET办法浅析
  4. 浅谈ASP.NET服务器规范控件
  5. ASP.NET中SQL Server数据库备份康复浅析
转载请说明出处
知优网 » 概述ASP.NET Membership(概述是什么意思)

发表评论

您需要后才能发表评论