仓酷云

标题: ASP.NET网站制作之利用ASP.NET Atlas开辟检测暗码强度的自... [打印本页]

作者: 精灵巫婆    时间: 2015-1-16 22:38
标题: ASP.NET网站制作之利用ASP.NET Atlas开辟检测暗码强度的自...
效率会有不少的变化。而实际上java是基于堆栈机器来设计,这和我们常见的基于寄存器的本地机器是差异比较大的。总体来说,这是一种虚拟机的设计思路。asp.net本文源于维生素C.net的一篇文章使用数学办法来年夜年夜下降一个逻辑判别完成的难度的例子。检测代码来自THIN的查验暗码强度的JS类。
Atlas中供应了客户端JavaScript壮大的面向工具功效,这几天看到了上述二位的帖子,以为这个功效需求在一样平常开辟中仍是很罕见的。早晨闲来无事,将上述功效封装为Atlas中的Behavior,以便利重用。关于Atlas的Behavior,请参考:在ASP.NETAtlas中创立自界说的Behavior。
依照在ASP.NETAtlas中创立自界说的Behavior这篇文章的五个自界说步骤,很简单写出了这个Behavior。个中最主要的部分为查验暗码强度的算法,这里我偷了个懒,只是复杂的将THIN的代码完整Copy过去(兄弟不要骂我-_-b),故意的伴侣能够将它重组成更“Atlas”的模样。这个检测函数将在每次用户在响应的input中按键时被触发:
functionkeyPressHandler(){
//youmayrefactorthisparttomakethecodemoreAtlaslike:-)
varPasswordStrength={
Level:["高,其实是高","还行啦","靠,如许也行"],
LevelValue:[30,20,0],//强度值
Factor:[1,2,5],//字符加数,分离为字母,数字,别的
KindFactor:[0,0,10,20],//暗码含几种构成的加数
Regex:[/[a-zA-Z]/g,/d/g,/[^a-zA-Z0-9]/g]//字符正则数字正则别的正则
}
PasswordStrength.StrengthValue=function(pwd)
{
varstrengthValue=0;
varComposedKind=0;
for(vari=0;i<this.Regex.length;i++)
{
varchars=pwd.match(this.Regex);
if(chars!=null)
{
strengthValue+=chars.length*this.Factor;
ComposedKind++;
}
}
strengthValue+=this.KindFactor[ComposedKind];
returnstrengthValue;
}
PasswordStrength.StrengthLevel=function(pwd)
{
varvalue=this.StrengthValue(pwd);
for(vari=0;i<this.LevelValue.length;i++)
{
if(value>=this.LevelValue)
returnthis.Level;
}
}
//endoftherefactoringsection

$(_checkResultLabelID).innerHTML=PasswordStrength.StrengthLevel(this.control.element.value);
}
同时在这个Behavior中增加了属性checkResultLabelID,用来指定显现查验了局的Label:
var_checkResultLabelID;
this.get_checkResultLabelID=function(){
return_checkResultLabelID;
}
this.set_checkResultLabelID=function(value){
if(_checkResultLabelID!=value){
_checkResultLabelID=value;
this.raisePropertyChanged(checkResultLabelID);
}
}
您也能够很便利的增加一些更花梢的功效,比方关于分歧强度的输出,提醒笔墨的背景色彩有所改动等。完全的源代码请参考本文前面的下载。
测试的步骤也很复杂,起首在ScriptManager中增加这个Behavior的援用:
<atlas:ScriptManagerrunat="server"ID="ScriptManager1">
<Scripts>
<atlas:ScriptReferencePath="PasswordStrengthCheckBehavior.js"/>
</Scripts>
</atlas:ScriptManager>
然后在页面上增加一个input,用来输出暗码(演示程序中没有设定type为password),和一个span,用来显现查验了局:
<div>
Inputapassword:
<inputid="password"type="text"/>
<spanid="result"></span>
</div>
最初,AtlasScript中将下面的input提拔为Atlas控件,并到场我们方才写好的Behavior:
<scripttype="text/xml-script">
<pagexmlns:script="http://schemas.microsoft.com/xml-script/2005">
<components>
<textBoxid="password">
<behaviors>
<passwordStrengthCheckBehaviorcheckResultLabelID="result"/>
</behaviors>
</textBox>
</components>
</page>
</script>
就是这么复杂,扫瞄器中以下:
复杂暗码:

中等暗码:

庞大暗码:

捆绑编译器。用户不需要受制于厂家,自己就能将程序在新平台上编译运行。除了牛B轰轰的linux,估计也没有系统捆绑c/c++的编译器,而且许多新平台都无法支持复杂的c/c++编译器在上面直接运行。
作者: 莫相离    时间: 2015-1-18 09:58
主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。
作者: 山那边是海    时间: 2015-1-21 19:03
ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。
作者: 飘飘悠悠    时间: 2015-2-6 16:10
众所周知,Windows以易用而出名,也因此占据不少的服务器市场。
作者: 活着的死人    时间: 2015-2-17 02:49
主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。
作者: 金色的骷髅    时间: 2015-3-5 14:54
ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。
作者: 灵魂腐蚀    时间: 2015-3-19 19:23
微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2