`

登录相关功能点与用户名密码加密规则实现

    博客分类:
  • java
阅读更多
1.登录  忘记密码
2.成本中心的 查询 编辑 增加
3.后台的角色与权限控制 查询 编辑 增加
4.城市控件
5.oracle数据库 PL/SQL  数据操作

登录 相关功能点:
用户名、密码、记住密码、忘记密码、类型、验证码、下次自动登录、登录按钮、取消按钮
版权、注册、天蓝色基调、居中、左右、上下、重置、帮助、英文界面、前台、后台
使用以下账号直接登录(QQ、微博、微信、淘宝、支付宝等)管理用户、匿名用户、会员登录
注销、认证方式、头像、小键盘输入、拖拽登入、刷新输入、获取动态验证码、系统设置、刷新
版本升级、logo、语言、主题、验证码 看不清换一张、十天内免登录、与微信好友玩、与QQ好友玩、已阅读并同意<<用户协议>>、游戏、办公、选区、cookie、各行各业、上次登录、验证码类型:静态 带背景静态 含算式的 动态手机号、防暴力破解输入出错5次 账号被锁定、密码js中传值MD5加密


零碎知识点
1、去空格
  trim()函数,replace()函数,split("").join("")函数
2、清空
  reset()函数,关键字 reset换个函数名
3、鼠标移入移出
mouseenter()、mouseleave()
$(this).find(div).stop(false,true).slidedown();
$(this).find(div).stoop(false,true).hide();
4.密码的控制
不能全为数字,全英

插件 js文件passwordStrength.js

(function(){
   if(!window['EBWF']){
	   window['EBWF'] = {};
   }
   function passwordStrength(password){
   	   // Private properties	
       var defaultLength = 8;
       var owner = this;
       // Private method
       function initCheck(password){
           if(!password||password.length <8){
              throw new Error(emptyandlength+defaultLength);
           }
       }
       
       function min(a,b,c){
         if(a>b){
             if(b>c){
                return c;
             }else{
                return b;
             }
         }else{
        	 if(a>c){
                return c;
             }else{
                return a;
             }		
         }
       }
       function getDistance(a, b){
        var aL = a.length;
        var bL = b.length;
        var distance = new Array(aL+1);
        for(var i = 0; i <= aL; i++){
            distance[i] = new Array(bL+1);
        }
        for(var i = 0; i <= aL; i++){
            distance[i][0]=i;
            
        }
        for(var j=0;j<=bL;j++){
            distance[0][j] =j;
        }
        for(var i =1 ; i <= aL;i++){
            for(var j=1;j<=bL;j++){
                var ac = a.charAt(i-1);
                var bc = b.charAt(j-1);
                if(ac==bc){
                    distance[i][j]= distance[i-1][j-1];
                }else{
                    var v1 = distance[i][j-1];
                    var v2 = distance[i-1][j-1];
                    var v3 = distance[i-1][j];
                    distance[i][j]= min(v1,v2,v3)+1;
                }
            }
        }
        return distance[aL][bL];
    }
       
       initCheck(password);
       this.password = password;
       // Priviledged method (still public)
       this.setPassword = function(password){
            initCheck(password);
            this.password = password;
   	   };
   	   this.isSimilar=function(target,limitStep){
   	   	var i = getDistance(target,this.password);
        
        if(i<=limitStep){
            return true;
        }else{
            return false;
        }
   	   };
       
   
   }
   passwordStrength.prototype.equalsIgnoreCase = function(target){
     return this.password.toUpperCase()==target.toUpperCase();
   };
   passwordStrength.prototype.evaluateLength = function(min, max){
        if(this.password.length< min||this.password.length>max){
            return false;
        }else{
            return true;
        }
    };
   passwordStrength.prototype.atLeastLength = function(length){
      if(this.password.length < length){
         return false;
      }else{
         return true;
      }
   };
   passwordStrength.prototype.isAllCharacters= function(){
        var allCharacters =/^([a-zA-Z])+$/;
        if(allCharacters.test(this.password)){
            return true;
        }else{
        	return false;
        }
   };
   passwordStrength.prototype.isAllLowerCharacters= function(){
        var allLowerCharacters =/^([a-z])+$/;
        if(allLowerCharacters.test(this.password)){
            return true;
        }else{
        	return false;
        }
   };
   passwordStrength.prototype.isAllUpperCharacters= function(){
        var allUpperCharacters =/^([A-Z])+$/;
        if(allUpperCharacters.test(this.password)){
            return true;
        }else{
        	return false;
        }
   };
   passwordStrength.prototype.isAllDigits= function(){
        var allDigits =/^([0-9])+$/;
        if(allDigits.test(this.password)){
            return true;
        }else{
        	return false;
        }
   };
   passwordStrength.prototype.hasThreeConsecutiveSame= function(){

        var length = this.password.length;
        for(var i=0;i<length-2;){
            var c1= this.password.charAt(i);
            var c2= this.password.charAt(i+1);
            var c3= this.password.charAt(i+2);
            if(c3!=c2){
                i=i+2;
            }else if(c1!=c2){
                i=i+1;
            }else{
                return true;
            }
        }
        return false;
   };
   
   passwordStrength.prototype.hasSpecialCharacter= function(){
         var length = this.password.length;
        //Character a = '0';

        for(var i=0; i< length; i++){
            var c = this.password.charAt(i);
            var rv = ((c-'A')>-1&&(c-'z')<1)||((c-'0')>-1 && (c-'9')<1);
            if(!rv){
                return true;
            }
        }
        return false;
   };
   
   passwordStrength.prototype.hasThreeConsecutiveValue= function(){
   		var length = this.password.length;
        for(var i=0;i<length-2;){
           
            var c2= this.password.charAt(i+1);
           
            if((c2>'0'&&c2<'9')||(c2>'a'&&c2<'z')||(c2>'A'&&c2<'Z')){
                var c1= this.password.charAt(i);
                var c3= this.password.charAt(i+2);
                if((c2*2 == c1+c3)&&(c2!=c1)){
                    return true;
                }else if((c2==c3-1)||(c2==c3+1)){
                    i=i+1;
                }else{
                    i=i+1;
                }
            }else{
                i = i+2;
            }
            
        }
        return false;
   
   };
    passwordStrength.prototype.basicEvaluate= function(length){
    	if(!this.atLeastLength(length)){
            return false;
        }else if(this.isAllCharacters()){
            return false;
        }else if(this.isAllDigits()){
            return false;
        }else if(this.hasThreeConsecutiveSame()){
            return false;
        }else{
            return true;
        }
    
    };
   
    window['EBWF']['passwordStrength'] = passwordStrength;

})();

*****************jsp 页面中的设置************************************
/**
* 密码校验
*
*/
function resetPwdCheck() {
	var new_pwd = jQuery.trim(jQuery("#new_pwd").val());
	var confim_pwd = jQuery.trim(jQuery("#confim_pwd").val());
	if(new_pwd == ""){
		alert(please_fillin_password);	/*"请填写密码"*/
		return false;
	}
	if (confim_pwd == "") {
		alert(please_confirm_password);	/*"请确认密码"*/
		return false;
	}	
	if (new_pwd != confim_pwd) {
		alert(inputpassword_consistent);	/*"两次填写的密码不一致"*/
		return false;
	}
	if(new_pwd != "" && validateCharLength(new_pwd) > 50){
		alert(newpassword_toolong);	/*"新密码过长"*/
		return false;
	}
	
	//管理员密码复杂度校验
	var passwordStrengthConstructor =  window['EBWF']['passwordStrength'];
	 try{
	    var password = new passwordStrengthConstructor(new_pwd);
	    if (password.isAllDigits()==true){
			alert(password_cannot_numbers);	/*"密码不能全部为数字"*/
			return false;
		}
		if (password.isAllCharacters()==true){
			alert(password_cannotallletter);	/*"密码不能全部为字母"*/
			return false;
		}
	
	 }catch(e){
	    alert(e.message);
	    return false;
	 }
	 
	return true;
}

分享到:
评论

相关推荐

    js判断用户名密码实现登录

    在前端开发中,JavaScript(JS)是实现用户交互和数据验证的重要工具,特别是在登录功能的实现上。本文将深入探讨如何使用JavaScript来判断用户名和密码,以实现一个基本的登录系统。 首先,我们需要理解HTML(超...

    安卓登录注册相关-Android条件判断用户名和密码登录跳转主页面记住密码自动登录.zip

    本压缩包包含了一些关于Android平台上的登录注册功能的实现,尤其是条件判断、用户名和密码的验证、登录后跳转到主页面以及记住密码和自动登录的机制。以下是这些关键知识点的详细解释: 1. **条件判断**:在登录...

    Kafka 配置用户名密码例子

    在本文中,我们将深入探讨如何在Apache Kafka中配置SASL/PLAIN认证机制,并通过具体的密码验证实现安全的通信。Kafka是一个分布式流处理平台,它在数据传输中扮演着重要角色,而安全性是其核心考量之一。SASL...

    wincap获取登录FTP时的用户名和密码

    本实验聚焦于使用wincap工具来捕获并分析登录FTP时的用户名和密码信息,以验证其正确性。wincap是一个强大的网络封包分析软件,它允许我们深入查看网络通信的底层细节。 首先,我们要理解FTP的工作机制。FTP基于TCP...

    C++用户名+密码登录程序.rar

    本文将深入探讨这个主题,并基于提供的“C++用户名+密码登录程序”来解析关键知识点。 首先,我们要了解C++语言的基础。C++是一种强大的、面向对象的编程语言,具有丰富的库支持和高度的性能。它被广泛用于系统软件...

    Spring security 自定义密码加密方式的使用范例。

    通过上述步骤,你已经成功地在Spring Security中实现了自定义的密码加密方式和认证结果处理。在实际项目中,你可能还需要关注其他方面,比如权限控制、记住我功能、CSRF保护等。Spring Security提供了一系列的API和...

    密码登录程序(VB6.0源代码编写)

    在"VB20081204-登录密码"这个文件中,很可能是包含了上述知识点的VB6.0源代码实现。通过阅读和分析这个源代码,可以进一步理解密码登录程序的实现细节,并提升编程技能。如果你需要深入学习,可以结合相关教程和文档...

    计算机上机100题用户名及密码

    需要注意的是,这里的用户名和密码看起来并不符合常见的命名规则,可能是因为它们是特定场景下的示例或者是经过某种加密处理的结果。在实际应用中,建议使用更易于记忆且符合安全规范的用户名和密码组合。 ### 使用...

    密码登录系统VI

    在LabVIEW编程环境中,"密码登录系统VI"是一种常见的应用,用于实现用户验证和权限管理。这个系统允许用户通过输入正确的凭证(通常是用户名和密码)来访问受保护的功能或数据。下面将详细介绍密码登录系统的基本...

    matlab用户名密码框

    在实际应用中,可能还需要考虑其他功能,如错误检查(确保用户名和密码非空)、密码复杂性规则、记住密码选项等。此外,密码的存储和验证应遵循安全最佳实践,避免明文存储,而是使用加密技术。 在提供的`...

    迪文DGUSIIos密码登录与改写设计

    最后,压缩包中的"DMT48270C043-t5UId14.3寸密码登录与改写os-20180731"文件可能是该设计的具体实现,包含了针对特定屏幕尺寸和分辨率的界面布局和相关代码。这份代码库可能包含了上述所有功能的实现细节,可供开发...

    JSP+SERVLET注册登陆,用户密码加密程序

    9. **错误处理和验证**:在注册和登录过程中,程序需要进行各种验证,如检查用户名是否已存在,密码是否符合规则等。遇到错误时,程序应该返回适当的错误消息。 10. **安全实践**:除了密码加密,安全实践还包括...

    WPS如何快速生成用户名和密码.docx

    此外,保存生成的用户名和密码列表时,应选择加密保存,以防止未经授权的访问。 通过以上步骤,你可以利用WPS Office 2021快速生成一组基于特定规则的用户名和密码,极大地提高了工作效率。这种技巧在需要批量创建...

    批量生成用户名密码工具.rar

    批量生成用户名密码的原理通常基于一定的规则或算法。例如,它可能基于用户提供的前缀、数字序列、日期等元素,通过组合生成一系列唯一的用户名和相应的密码。工具可能会提供定制选项,如设置用户名长度、是否包含...

    安卓app——实现登录注册

    在安卓应用开发中,"安卓app——实现登录注册" 是一个基础且重要的功能模块,它涉及到用户的身份验证和用户体验的设计。下面将详细讲解这个过程中的关键知识点。 首先,登录注册功能通常由两个主要部分组成:登录...

    登陆注册,修改密码模版

    这通常需要在后端进行更复杂的验证,并对敏感数据如密码进行加密存储。 6. 用户体验: - 界面设计应简洁易用,错误提示明确,以提升用户体验。此外,注册时可能需要验证码防止机器人,登录时可能提供“记住我”...

    linux实现vnc无密码登录

    标题提到的“linux实现vnc无密码登录”就是针对这种需求的一种解决方案,特别是通过修改turbo VNC的源代码来实现。 Turbo VNC是一款优化过的VNC服务器,它在保持低延迟的同时提供更好的性能。在标准的VNC设置中,...

    uniapp云开发unicloud 登录实例的实现

    在本文中,我们将深入探讨如何使用uniapp与unicloud云开发平台实现登录功能。uniapp是一个跨平台的前端开发框架,它允许开发者用一套代码编写应用,同时支持iOS、Android、H5、小程序等多个平台。unicloud是阿里云...

    md5加密实现规则以及demo展示

    在提供的文件名中,`MD5Util.java`很可能是实现MD5加密功能的工具类,它可能包含了MD5加密的逻辑,包括自定义规则的部分。`AESUtil.java`可能包含AES(Advanced Encryption Standard)加密的实现,尽管AES是另一种...

    应用JAVA进行密码加密的一种算法

    标题提及的是一种基于Java实现的密码不可逆加密算法,该算法设计用于保护用户的密码安全,尤其是在网络服务中,用户在注册后通常需要提供用户名、密码等个人信息。密码的加密存储至关重要,因为一旦加密过程不可逆,...

Global site tag (gtag.js) - Google Analytics