php 注册时输入密码后,判断密码的复杂性,怎么做?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 注册时输入密码后,判断密码的复杂性,怎么做?相关的知识,希望对你有一定的参考价值。

注册时输入密码后,判断密码的复杂性,并在密码输入框旁边提示密码复杂度等级。6位以下密码为弱等级,用一个红色圆点表示;6-10位密码为中等级,用一个黄色三角型表示;11位以上为强等级,用一个绿色矩形表示。不允许会员使用弱等级密码。

直接用javascript咯,
  唉,有空
讲下思路吧
    先在用户密码输入框,用onchange事件或onblur事件 监听着这个框,如果触发事件。就执行你的JS检测代码。
    用getElementBy("yourTagId") 取得用户密码的值
    再用length这个方法 去取得这个值的长度。。
    用if判断,然后用html函数输出相应的红点到页面。追问

能再详细点吗?最好给个代码。。谢谢

参考技术A 如果这们的密码6位以下你说是弱还是强
!@23Ht
如果是6位以上这样的密码你说是弱还是强
11111111
首先你的思路就不对
密码的强弱主要还是以他的组合性
我建议你
以6位以上为基础,以字母和数字组合为基本

也就是6位以上的字母和数字的组合为安全的
以下就不允许使用了
参考技术B 它在开机或更换用户登陆时启动,输入正确的密码后就可以使用系统,但是即使不知道密码也可以用ESC键跳过登陆程序,直接进入系统。这时我们可以通过更改注册表,

android项目——登录界面

  这周没啥新的学习感受,因为一直是在用学到的内容做案例。

  上周敲出了一个登录界面的程序,登录之前必须要进行注册,进入注册界面后可以进行注册,将第一次注册时的用户名和密码写到两个文档中,然后注册完成后会跳转到登录界面,然后输入注册好的用户名和密码,输入正确后跳转到应用的界面(一个未做好的九宫格界面)。

  一、Java代码:

  1、注册时将用户名和密码要写到两个文件里,密码输入两次,如果两次输入不一致无法写入,用户名和两次输入的密码如果有未填写的也无法写入,无法注册。

  2、登录时定义两个字符串分别是读入之前写入的用户名和密码,然后和用户输入的用户名、密码判断是否相同,不相同无法登录。

  3、修改密码放在了九宫格界面中,如要修改密码在该界面点击修改密码后跳转到修改密码的界面,只是修改的密码与之前注册的密码不在一个文件,即修改密码不会改变注册的密码。

  4、忘记密码还未设计具体的代码,因为具体的逻辑还没搞清楚。

  二、具体代码如下:

  1、注册代码

技术分享
 1 package cn.itcast.activity_login;
 2 
 3 import java.io.FileOutputStream;
 4 import cn.itcast.activity_login.R;
 5 import android.os.Bundle;
 6 import android.app.Activity;
 7 import android.content.Context;
 8 import android.content.Intent;
 9 import android.text.TextUtils;
10 import android.view.Menu;
11 import android.view.View;
12 import android.view.View.OnClickListener;
13 import android.widget.Button;
14 import android.widget.EditText;
15 import android.widget.Toast;
16 
17 public class MainActivity_register extends Activity {
18     private EditText et_rUN;
19     private EditText et_rUNP;
20     private EditText et_againRUNP;
21     private Button btn_register;
22     @Override
23     protected void onCreate(Bundle savedInstanceState) {
24         super.onCreate(savedInstanceState);
25         setContentView(R.layout.activity_main_activity_register);
26         et_rUN=(EditText)findViewById(R.id.et_rUN);
27         et_rUNP=(EditText)findViewById(R.id.et_rUNP);
28         et_againRUNP=(EditText)findViewById(R.id.et_againRUNP);
29         btn_register=(Button)findViewById(R.id.btn_register);
30         btn_register.setOnClickListener(new MyOnClicklistener());
31     }
32      private class MyOnClicklistener implements OnClickListener
33      {
34 
35         @Override
36         public void onClick(View view) {
37             String saveRUN=et_rUN.getText().toString().trim();
38             String saveRUNP=et_rUNP.getText().toString().trim();
39             String saveAgainRUNP=et_againRUNP.getText().toString().trim();
40             // TODO Auto-generated method stub
41             switch(view.getId())
42             {
43             case R.id.btn_register:
44                 if(TextUtils.isEmpty(saveRUN)||TextUtils.isEmpty(saveRUNP)||TextUtils.isEmpty(saveAgainRUNP))
45                 {
46                     Toast.makeText(MainActivity_register.this, "您有未输入的信息!",Toast.LENGTH_SHORT).show();
47                 }
48                 else
49                 {
50                     if(saveRUNP.equals(saveAgainRUNP))
51                     {
52                         FileOutputStream fosSaveRUN;
53                         FileOutputStream fosSaveRUNP;
54                         try
55                         {
56                             fosSaveRUN=openFileOutput("saveRUN.txt",Context.MODE_APPEND);
57                             fosSaveRUN.write(saveRUN.getBytes());
58                             fosSaveRUN.close();
59                             fosSaveRUNP=openFileOutput("saveRUNP.txt",Context.MODE_APPEND);
60                             fosSaveRUNP.write(saveRUNP.getBytes());
61                             fosSaveRUNP.close();
62                         }
63                         catch(Exception e)
64                         {
65                             e.printStackTrace();
66                         }
67                         Toast.makeText(MainActivity_register.this, "已成功注册!\\n用户名:"+saveRUN+"\\n密码:"+saveRUNP,Toast.LENGTH_SHORT).show();
68                         Intent intent=new Intent(MainActivity_register.this,MainActivity_login.class);
69                         startActivity(intent);
70                     }
71                     else
72                     {
73                         Toast.makeText(MainActivity_register.this, "两次输入的密码不一致!",Toast.LENGTH_SHORT).show();
74                     }
75                 }
76                 break;
77         }
78          
79      }
80 }
81 
82     @Override
83     public boolean onCreateOptionsMenu(Menu menu) {
84         // Inflate the menu; this adds items to the action bar if it is present.
85         getMenuInflater().inflate(R.menu.main_activity_register, menu);
86         return true;
87     }
88 
89 }
注册代码

  2、登录代码

技术分享
  1 package cn.itcast.activity_login;
  2 
  3 
  4 import java.io.FileInputStream;
  5 import android.os.Bundle;
  6 import android.app.Activity;
  7 import android.content.Intent;
  8 import android.text.TextUtils;
  9 import android.util.Log;
 10 import android.view.Menu;
 11 import android.view.View;
 12 import android.view.View.OnClickListener;
 13 import android.widget.Button;
 14 import android.widget.CheckBox;
 15 import android.widget.EditText;
 16 import android.widget.Toast;
 17 
 18 public class MainActivity_login extends Activity {
 19     private EditText et_un;
 20     private EditText et_upw;
 21     private CheckBox ck_rupw;
 22     private Button bt_login;
 23     private Button bt_forget;
 24     private Button bt_register;
 25 
 26     @Override
 27     protected void onCreate(Bundle savedInstanceState) {
 28         super.onCreate(savedInstanceState);
 29         setContentView(R.layout.activity_main_activity_login);
 30         et_un = (EditText) findViewById(R.id.et_un);
 31         et_upw = (EditText) findViewById(R.id.et_upw);
 32         ck_rupw = (CheckBox) findViewById(R.id.ck_rupw);
 33         bt_login = (Button) findViewById(R.id.bt_login);
 34         bt_forget = (Button) findViewById(R.id.bt_forget);
 35         bt_register=(Button) findViewById(R.id.bt_register);
 36         bt_login.setOnClickListener(new MyOnClickListener());
 37         bt_forget.setOnClickListener(new MyOnClickListener());
 38         bt_register.setOnClickListener(new MyOnClickListener());
 39     }
 40 
 41 
 42     @Override
 43     public boolean onCreateOptionsMenu(Menu menu) {
 44         // Inflate the menu; this adds items to the action bar if it is present.
 45         getMenuInflater().inflate(R.menu.main_activity_login, menu);
 46         return true;
 47     }
 48     private class MyOnClickListener implements OnClickListener{
 49 
 50         @Override
 51         public void onClick(View view) {
 52             String username=et_un.getText().toString();                    
 53             String password=et_upw.getText().toString();
 54             // TODO Auto-generated method stub
 55             switch(view.getId()){
 56                 case R.id.bt_login:
 57                     if(TextUtils.isEmpty(username)||TextUtils.isEmpty(password)){
 58                         Toast.makeText(MainActivity_login.this, "用户名或密码不能为空",Toast.LENGTH_SHORT).show();
 59                     }else{
 60                             String readRUN="";
 61                             String readRUNP="";
 62                             try
 63                             {
 64                                 FileInputStream fisReadRUN=openFileInput("saveRUN.txt");
 65                                 byte[] bufferRUN=new byte[fisReadRUN.available()];
 66                                 fisReadRUN.read(bufferRUN);
 67                                 readRUN=new String(bufferRUN);
 68                                 fisReadRUN.close();
 69                                 //Toast.makeText(MainActivity_login.this, "用户名"+readRUN,Toast.LENGTH_SHORT).show();
 70                                 FileInputStream fisReadRUNP=openFileInput("saveRUNP.txt");
 71                                 byte[] bufferRUNP=new byte[fisReadRUNP.available()];
 72                                 fisReadRUNP.read(bufferRUNP);
 73                                 readRUNP=new String(bufferRUNP);
 74                                 fisReadRUNP.close();
 75                                 //Toast.makeText(MainActivity_login.this, "密码"+readRUNP,Toast.LENGTH_SHORT).show();
 76                             }
 77                             catch(Exception e)
 78                             {
 79                                 e.printStackTrace();
 80                             }
 81                             if(username.equals(readRUN)&&password.equals(readRUNP))
 82                             {
 83                                 if(ck_rupw.isChecked()){
 84                                     Log.i("用户名为:"+username,"密码为:"+password);
 85                                     }
 86                                 else{
 87                                     Log.i("不用记住用户名", "不用记住密码");
 88                                 }
 89                                 Intent intentL=new Intent(MainActivity_login.this,MainActivity_logined.class);
 90                                 startActivity(intentL);
 91                             }
 92                             else
 93                             {
 94                                 Toast.makeText(MainActivity_login.this, "用户名或密码输入错误",Toast.LENGTH_SHORT).show();
 95                             }
 96                         }
 97                     break;
 98                 case R.id.bt_forget:
 99                         Intent intentC=new Intent(MainActivity_login.this,MainActivity_forget.class);
100                         startActivity(intentC);
101                     break;
102                 case R.id.bt_register:
103                     Intent intentR=new Intent(MainActivity_login.this,MainActivity_register.class);
104                     startActivity(intentR);
105                     break;
106                     }
107             
108          }
109      }
110     
111     /*public void click(View view){
112         Intent intent=new Intent(this,MainActivity_logined.class);
113         startActivity(intent);
114     }*/
115 }
登录代码

  3、修改密码

技术分享
 1 package cn.itcast.activity_login;
 2 
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.content.Intent;
 6 import android.text.TextUtils;
 7 import android.view.Menu;
 8 import android.view.View;
 9 import android.view.View.OnClickListener;
10 import android.widget.Button;
11 import android.widget.EditText;
12 import android.widget.Toast;
13 
14 public class MainActivity_changePW extends Activity {
15     private EditText et_before;
16     private EditText et_after;
17     private EditText et_again;
18     private Button bt_submit;
19     @Override
20     protected void onCreate(Bundle savedInstanceState) {
21         super.onCreate(savedInstanceState);
22         setContentView(R.layout.activity_main_activity_change_pw);
23         et_before=(EditText)findViewById(R.id.et_before);
24         et_after=(EditText)findViewById(R.id.et_after);
25         et_again=(EditText)findViewById(R.id.et_again);
26         bt_submit=(Button)findViewById(R.id.bt_submit);
27         bt_submit.setOnClickListener(new MyOnClickListener());
28     }
29     private class MyOnClickListener implements OnClickListener
30     {
31 
32         @Override
33         public void onClick(View v) {
34             String before=et_before.getText().toString();
35             String after=et_after.getText().toString();
36             String again=et_again.getText().toString();
37             // TODO Auto-generated method stub
38             switch(v.getId())
39             {
40             case R.id.bt_submit:
41                 if(TextUtils.isEmpty(before)||TextUtils.isEmpty(after)||TextUtils.isEmpty(again))
42                 {
43                     Toast.makeText(MainActivity_changePW.this, "您有未输入的密码!",Toast.LENGTH_SHORT).show();
44                 }
45                 else
46                 {
47                     if(after.equals(again))
48                     {
49                         //Toast.makeText(MainActivity_changePW.this, "密码已成功修改!\\n"+after+"\\n"+again,Toast.LENGTH_SHORT).show();
50                         Toast.makeText(MainActivity_changePW.this, "密码已成功修改!",Toast.LENGTH_SHORT).show();
51                         Intent intent1=new Intent(MainActivity_changePW.this,MainActivity_logined.class);
52                         startActivity(intent1);
53                     }
54                     else
55                     {
56                         Toast.makeText(MainActivity_changePW.this, "修改密码两次输入不一致!",Toast.LENGTH_SHORT).show();
57                     }
58                 }
59                 break;
60             }
61         }
62         
63     }
64 
65     @Override
66     public boolean onCreateOptionsMenu(Menu menu) {
67         // Inflate the menu; this adds items to the action bar if it is present.
68         getMenuInflater().inflate(R.menu.main_activity_change_pw, menu);
69         return true;
70     }
71 
72 }
修改密码 

  三、存在的问题

  1、用户名和密码写入时应该是可以重写,而不是追加,否侧无法进行修改密码;

  2、每一次注册时不可能只写到一个文件中,应该是说每次注册时会写到不同的文件里,这样每个用户的资料就分开了,这样也方便之后查找用户资料;

  3、注册时若用户名相同无法注册成功,这就要涉及所有用户资料的遍历,这也是以后要改进的地方;

  4、修改密码时应该已经可以对用户资料进行操作,如何获取到该用户的资料的代码还没想出来;

以上是关于php 注册时输入密码后,判断密码的复杂性,怎么做?的主要内容,如果未能解决你的问题,请参考以下文章

wpa怎么破解 现在的无线密码

三星s4邮箱帐号和密码怎么找回

password怎么注册认证

VB6 判断输入的数字是不是为数组中的某个元素值

php注册的时候怎么验证用户名是不是存在

[简易的网站登录注册,注销退出操作]