`
wurushuang
  • 浏览: 38655 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

AS3密码强度验证

阅读更多
public static function evaluatePwd(sPW:String):int
{ 
if (sPW.length <= 4) 
return 0; 
var Modes:int = 0; 
for (var i:int = 0; i < sPW.length; i++) 
{ 
Modes |= CharMode(sPW.charCodeAt(i)); 
} 

return bitTotal(Modes); 

function CharMode(iN:int):int
{ 
if (iN>=48 && iN <=57) 
return 1; 
if (iN>=65 && iN <=90) 
return 2; 
if (iN>=97 && iN <=122) 
return 4; 
else
return 8; 
} 

function bitTotal(num:int):* 
{ 
var modes:int = 0; 
for (var i:int = 0; i < 4; i++) 
{ 
if (num & 1) modes ++; 
num >>>= 1; 
} 
return modes; 
} 
}

public static function evaluatePwd(sPW:String):int
		{
			if (sPW.length <= 4)
				return 0;
			var Modes:int = 0;
			for (var i:int = 0; i < sPW.length; i++)
			{
				Modes |= CharMode(sPW.charCodeAt(i));
			}

			return bitTotal(Modes);

			function CharMode(iN:int):int
			{
				if (iN>=48 && iN <=57)
					return 1;
				if (iN>=65 && iN <=90)
					return 2;
				if (iN>=97 && iN <=122)
					return 4;
				else
					return 8;
			}

			function bitTotal(num:int):*
			{
				var modes:int = 0;
				for (var i:int = 0; i < 4; i++)
				{
					if (num & 1) modes ++;
					num >>>= 1;
				}
				return modes;
			}
		}另外还有一个十分简单的算法

public static function evaluatePwd2(sPW:String):int
{ 
return sPW.replace(/^(?:([a-z])|([A-Z])|([0-9])|(.)){5,}|(.)+$/g, “$1$2$3$4$5″).length; 
}
public static function evaluatePwd2(sPW:String):int
		{
			return sPW.replace(/^(?:([a-z])|([A-Z])|([0-9])|(.)){5,}|(.)+$/g, "$1$2$3$4$5").length;
		}我们可以用多种图形化的界面甚至动画去展现密码的强度,举个简单的例子,例如我希望用户在输入密码后1秒内没有任何输入动作,则验证密码的强度,并且已进度条的形式展示

首先注册一个监听

pwdInputView.password.addEventListener(KeyboardEvent.KEY_UP, onKey);
pwdInputView.password.addEventListener(KeyboardEvent.KEY_UP, onKey);然后看看监听函数

private var oldText:String; 
private function onKey(e:KeyboardEvent):void
{ 
if (oldText != pwdInputView.password.text && pwdInputView.password.text.length > 5) 
{ 
oldText = pwdInputView.password.text; 
TweenLite.killTweensOf(updateStrengthView, false); 
TweenLite.delayedCall(1, updateStrengthView); 
} 
}
private var oldText:String;

		private function onKey(e:KeyboardEvent):void
		{
			if (oldText != pwdInputView.password.text && pwdInputView.password.text.length > 5)
			{
				oldText = pwdInputView.password.text;
				TweenLite.killTweensOf(updateStrengthView, false);
				TweenLite.delayedCall(1, updateStrengthView);
			}
		}首先定义一个oldText成员,用于记录上次输入的密码,如果当前密码和上次密码不相同并且长度大于5,开始执行操作。我这里用了TweenLite作为计时器,1秒后将执行强度判断,如果发现用户在1秒内再次有输入操作,则销毁当前TweenLite。

再看看如何用视图来展示密码强度,这里不多作解释了,只是一个简单的动画效果。

private function updateStrengthView():void
{ 
var toWidth:Number = pwdInputView.strengthCanvas.width * CheckStrong.evaluatePwd(pwdInputView.password.text) * .25; 
TweenLite.to(pwdInputView.maskCanvas, 1.5, {width:toWidth, ease:Bounce.easeOut, overwrite:false}); 
}
private function updateStrengthView():void
		{
			var toWidth:Number = pwdInputView.strengthCanvas.width * CheckStrong.evaluatePwd(pwdInputView.password.text) * .25;
			TweenLite.to(pwdInputView.maskCanvas, 1.5, {width:toWidth, ease:Bounce.easeOut, overwrite:false});
		}

http://blog.youmila.com/?p=24
分享到:
评论

相关推荐

    javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)

    现在需要升级密码强度的验证,以前的验证比较简单,现在已经不能满足需求了,现在需要可灵活变化并有多级别可配置选择的一个密码强度验证,所以就设计了下面这个东东。在设计前也参考了下比较成熟的强度规则,...

    解读ASP.NET密码强度验证代码实例分享

    输入密码:密码强度: 弱 中 强   代码如下: 代码如下:&lt;&#37;@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”Default.aspx.cs” Inherits=”_Default” %&gt; &lt;!DOCTYPE html PUBLIC “-//W3C...

    javascript实现前端input密码输入强度验证

    本文实例为大家分享了js实现密码输入强度验证的具体代码,供大家参考,具体内容如下 需求: 1.需要对用户输入的密码进行验证,验证的级别分为强中弱,如果输入的密码强度少于6时,则不会验证,只有密码强度在6-20时...

    javascrpt密码强度校验函数详解

    最近写了个密码强度验证的函数,主要验证以下内容 1、密码最小和最大长度 2、连续字符串出现的次数 3、字符连续出现的次数 4、禁止特定的字符串作为密码 5、密码字符串的组合强度要求,必须含有大小写字母,必须含有...

    jQuery Password Validation密码验证

    一种使用评价功能显示密码强度的验证插件自定义方法。显示的文本可以被本地化。 您可以简单地自定义强度显示的外观、本地化消息显示,并集成到已有的表单中。 该插件目前版本是 1.0.0。 使用方式 如需使用 Password ...

    用Javascript评估用户输入密码的强度(Knockout版)

    我们来看看如果使用Knockout更简单的来实现密码强度的验证。 原有代码请查看: 代码如下: &lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” ...

    ASP.NET 回发密码框清空问题处理方法

    ASP.NET MVC5网站开发之添加\删除\重置密码\修改密码\列表浏览管理员篇2(六)ASP.NET MVC5网站开发用户修改资料和密码(六)asp.net利用cookie保存用户密码实现自动登录的方法解读ASP.NET密码强度验证代码实例分享...

    ASP+ajax注册即时提示程序代码

    2、输入密码时提示密码强度和验证2次密码输入是否一样。 3、注册时验证数据库联系邮箱是否存在。 4、注册时验证用户输入的验证码和系统产生的验证码是否一致。 5、对输入中文验证 6、QQ号码验证 7、身份证号码验证 ...

    多媒体文件加密器离线授权版V12.2

    3、可以指定产品编号,以便用户可以管理多个文件,以免混乱 4、您可以设置提示语,以便告知用户通过何种途径与您联系获得播放密码 5、本系统也可以结合网络应用,通过网络向客户发放播放密码、会员验证等...

    高强度视频加密工具 金盾跨平台视频加密系统2019VIP版.zip

    可以加密各种视频音频格式文件(wmv, avi, asf, mpg, rm, rmvb, mp4, flv, mp3, vob, mov, mkv, mpeg, dat等等其他各种音频视频格式),加密后的文件可以通过离线方式授权播放,也可以通过网络方式授权播放;...

    PHP 加密 Password Hashing API基础知识点

    ● password_verify():验证密码是否和哈希匹配; ● password_needs_rehash():检查给定的哈希是否匹配给定的选项; ● password_get_info():返回指定哈希的相关信息。 1、password_hash(string password, int ...

    多媒体教室

    注: TCP/IP 设置完成后请用 PING 命令验证网络是否连通,如网络不通请尝试检查相应网络设备、重新安装 TCP/IP 协议等手段来解决问题。  2.3产品安装  教师机的安装 1. 插入安装光盘后会自动运行安装程序,进入...

Global site tag (gtag.js) - Google Analytics