.net身份验证代码

.net身份验证代码

using System;

///
<summary>
/// Summary description for
IDCardValid
/// </summary>
public class
IDCardValid
{
public
IDCardValid()
{
//
// TODO:
Add constructor logic here
//
}

///
<summary>
/// 验证身份证号码
/// </summary>
/// <param
name="Id">身份证号码</param>
///
<returns>验证成功为True,否则为False</returns>
public static bool CheckIDCard(string
Id)
{
if (Id.Length == 18)
{
bool check = CheckIDCard18(Id);
return check;
}
else if (Id.Length == 15)
{
bool
check = CheckIDCard15(Id);
return
check;
}
else
{
return false;
}
}
#region 身份证号码验证

///
<summary>
/// 验证15位身份证号
/// </summary>
/// <param
name="Id">身份证号</param>
///
<returns>验证成功为True,否则为False</returns>
private static bool CheckIDCard18(string
Id)
{
long n = 0;
if
(long.TryParse(Id.Remove(17), out n) == false || n < Math.Pow(10,
16) || long.TryParse(Id.Replace('x', '0').Replace('X', '0'), out n) == false)
{
return false;//数字验证
}
string address =
"11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";
if (address.IndexOf(Id.Remove(2)) == -1)
{
return false;//省份验证
}
string birth =
Id.Substring(6, 8).Insert(6, "-").Insert(4, "-");
DateTime time = new
DateTime();
if (DateTime.TryParse(birth, out time) == false)
{
return false;//生日验证
}
string[] arrVarifyCode
= ("1,0,x,9,8,7,6,5,4,3,2").Split(',');
string[] Wi = ("7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2").Split(',');
char[] Ai =
Id.Remove(17).ToCharArray();
int sum = 0;
for (int i = 0; i < 17;
i++)
{
sum += int.Parse(Wi[i]) * int.Parse(Ai[i].ToString());
}
int y = -1;
Math.DivRem(sum, 11, out y);
if (arrVarifyCode[y] !=
Id.Substring(17, 1).ToLower())
{
return false;//校验码验证
}
return true;//符合GB11643-1999标准
}

///
<summary>
/// 验证18位身份证号
/// </summary>
/// <param
name="Id">身份证号</param>
///
<returns>验证成功为True,否则为False</returns>
private static bool CheckIDCard15(string
Id)
{
long n = 0;
if
(long.TryParse(Id, out n) ==
false || n < Math.Pow(10, 14))
{
return false;//数字验证
}
string address =
"11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";
if (address.IndexOf(Id.Remove(2)) == -1)
{
return false;//省份验证
}
string birth =
Id.Substring(6, 6).Insert(4, "-").Insert(2, "-");
DateTime time = new
DateTime();
if (DateTime.TryParse(birth, out time) == false)
{
return false;//生日验证
}
return true;//符合15位身份证标准
}
#endregion
}

 

时间: 2024-08-31 15:03:58

.net身份验证代码的相关文章

php +mysql用户登陆身份验证代码

这是一个简单的用户登陆验证代码哦,比较适合于php教程初学者入门哦, 我们来看看html代码 <form action=111cnNet.php > <input type=text name=username> <input type=text name=password> <input type=submit name=password value='提交'> </form> <?php $uname=$_POST["user

php+mysql 实现身份验证代码_php基础

复制代码 代码如下: <?php $uname=$_POST["username"]; $pwd=$_POST["password"]; $link = mysql_connect('localhost', 'root', '123456') or die('Could not connect: ' . mysql_error()); mysql_select_db('ruida') or die('Could not select database'); /

php 用户登陆身份验证代码

我们来看看html代码 <form action=111cnNet.php > <input type=text name=username> <input type=text name=password> <input type=submit name=password value='提交'> </form> <?php $uname=$_POST["username"]; $pwd=$_POST["pass

[收藏]使用Reporting Services中的窗体身份验证

services 使用 Reporting Services 中的窗体身份验证发布日期: 8/18/2004 | 更新日期: 8/18/2004Microsoft Corporation 适用范围:Microsoft SQL Server 2000 Reporting Services 摘要:了解有关 Reporting Services 安全扩展方面的知识,着重学习窗体身份验证.此外,下载和部署 Reporting Services 的窗体身份验证扩展示例. 要安装示例代码,请下载 Forms

ASP.NET 2.0 中的窗体身份验证

asp.net 概述 窗体身份验证使用用户登录到站点时创建的身份验证票,然后在整个站点内跟踪该用户.窗体身份验证票通常包含在一个 Cookie 中.然而,ASP.NET 2.0 版支持无 Cookie 窗体身份验证,结果是将票证传入查询字符串中. 如果用户请求一个需要经过身份验证的访问的页,且该用户以前没有登录过该站点,则该用户重定向到一个配置好的登录页.该登录页提示用户提供凭据(通常是用户名和密码).然后,将这些凭据传递给服务器并针对用户存储(如 SQL Server 数据库)进行验证.在 A

ASP .NET 中的身份验证:.NET 安全性指导

安全|安全性 摘要本文讨论了设计服务器应用程序时考虑安全性的重要性.Internet Information Services 和 ASP .NET 均提供了安全模型,以便您对用户进行适当的身份验证,并在应用程序中获得正确的安全环境. -------------------------------------------------------------------------------- 目录简介安全性考虑IIS 和 ASP .NET 之间的关系身份验证方法Web 服务的安全性代码访问安全

asp.net Forms身份验证和基于角色的权限访问_实用技巧

主要思想:Forms身份验证用来判断是否合法用户,当用户合法后,再通过用户的角色决定能访问的页面. 具体步骤:     1.创建一个网站,结构如下:         网站根目录             Admin目录            ---->    管理员目录                 Manager.aspx        ---->    管理员可以访问的页面             Users目录            ---->    注册用户目录         

Asp.net Mvc 身份验证、异常处理、权限验证(拦截器)实现代码_实用技巧

1.用户登录 验证用户是否登录成功步骤直接忽略,用户登录成功后怎么保存当前用户登录信息(session,cookie),本文介绍的是身份验证(其实就是基于cookie)的,下面看看代码. 引入命名空间 using System.Web.Security; 复制代码 代码如下: Users ModelUser = new Users() { ID = 10000, Name = UserName, UserName = UserName, PassWord = PassWord, Roles =

asp.net 身份验证机制实例代码_实用技巧

ASP.NET提供了3种认证方式:windows身份验证.Forms验证和Passport验证. windows身份验证: IIS根据应用程序的设置执行身份验证.要使用这种验证方式,在IIS中必须禁用匿名访问. Forms验证:用Cookie来保存用户凭证,并将 未经身份验证的用户重定向到自定义的登录页. Passport验证:通过Microsoft的集中身份验证服务执行的,他为成员站点提供单独登录和核心配置文件服务. 关于这三种验证方式的配置,推荐一篇文章:http://www.jb51.ne