java密碼驗證
Ⅰ java中如何進行密碼校驗
一般有2種
辦法,
一是用轎碧正則表達式匹配法;二就是畝帆指要你自迅配己寫校驗字元串的
java代碼
Ⅱ 如何用JAVA SOCKET驗證用戶名和密碼是否正確
你肯定需要存一個可以登錄的用戶名/密碼 的列表
這個列表可以是存在資料庫,也可以存在本地文件
服務端啟動時載入這個列表,(或者在接到登錄驗證請求時 現查)
然後用 == 驗證就行了
如果 用戶名一致,密碼也一致 就 ok 了唄
Ⅲ java檢查伺服器用戶名密碼錯誤
java檢查伺服器用戶名密碼錯誤:如果用戶名和密碼不正確,請重新配置用戶名和密碼。 說明: 建議配置密碼時採用字母和數字的組合,不要包含特殊字元。 第一步,新建一個類class,然後命名為登穗蘆錄的login方法
第二步,採用HttpServletRequest獲取前端傳來的用戶名和密碼,然後判斷是否為空,存在空則提示
第三步,根據用戶登錄的賬號從資料庫中查詢數據,查詢不到則表示用戶不存在,此時報鉛茄出提示第四步,根據前端傳來的用戶名和密碼進行加密對比,如果不一致,則需要賬號或密碼錯槐族察誤,如圖採用封裝的JsonResult方法返回錯誤信息
第五步,如果上面的都通過,表示可以登錄,此時需要記錄session和登錄的許可權。
Ⅳ Java如何實現驗證碼驗證功能
package util; import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.util.Random;import javax.imageio.ImageIO; public final class ImageUtil { // 驗證碼字元集 private static final char[] chars = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'}; // 字元數量 private static final int SIZE = 4; // 干擾線數量 private static final int LINES = 5; // 寬度 private static final int WIDTH = 80; // 高度 private static final int HEIGHT = 40; // 字體大小 private static final int FONT_SIZE = 30; /** * 生成隨機驗證碼及圖片 * 返回的數組中,第1個值是驗證碼,第2個值是圖片 */ public static Object[] createImage() { StringBuffer sb = new StringBuffer(); // 1.創建空白圖片 BufferedImage image = new BufferedImage( WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); // 2.獲取圖片畫筆 Graphics graphic = image.getGraphics(); // 3.設置畫筆顏色 graphic.setColor(Color.LIGHT_GRAY); // 4.繪制矩形背景 graphic.fillRect(0, 0, WIDTH, HEIGHT); // 5.畫隨機字元 Random ran = new Random(); for (int i = 0; i <SIZE; i++) { // 取隨機字元索引 int n = ran.nextInt(chars.length); // 設置隨機顏色 graphic.setColor(getRandomColor()); // 設置字體大小 graphic.setFont(new Font( null, Font.BOLD + Font.ITALIC, FONT_SIZE)); // 畫字元 graphic.drawString( chars[n] + "", i * WIDTH / SIZE, HEIGHT / 2); // 記錄字元 sb.append(chars[n]); } // 6.畫干擾線 for (int i = 0; i < LINES; i++) { // 設置隨機顏色 graphic.setColor(getRandomColor()); // 隨機畫線 graphic.drawLine(ran.nextInt(WIDTH), ran.nextInt(HEIGHT), ran.nextInt(WIDTH), ran.nextInt(HEIGHT)); } // 7.返回驗證碼和圖片 return new Object[]{sb.toString(), image}; } /** * 隨機取色 */ public static Color getRandomColor() { Random ran = new Random(); Color color = new Color(ran.nextInt(256), ran.nextInt(256), ran.nextInt(256)); return color; } public static void main(String[] args) throws IOException { Object[] objs = createImage(); BufferedImage image = (BufferedImage) objs[1]; OutputStream os = new FileOutputStream("d:/1.png"); ImageIO.write(image, "jpeg", os); os.close(); } }
Ⅳ java中如何進行密碼校驗
import java.util.*;
import java.io.*;
public class Test{
 
 private String user = "aaa";
 private String pass = "123";
 private int num = 0;
 private boolean islogin = false;
 private double money = 0.0;
 
 private String getInput(){
  BufferedReader br = new BufferedReader(
      new InputStreamReader(System.in));
     String str = "";
     try {
      str = br.readLine();
      if(!("".equals(str.trim()))) return str;
     }
     catch (Exception ex) {
      ex.printStackTrace();
     }
     return null;
 }
 
 //查詢賬戶培備余額
 private void selectMoney(){
  System.out.println ("余額:"+money);
 }
 //取毀鬧款
 private void getMoney(){
  System.out.print("請輸入要取的錢數:");
  String getMoney = this.getInput();
  if(getMoney!=null){
   try {
    money -= Double.parseDouble(getMoney);
      }
      catch (Exception ex) {
       ex.printStackTrace();
      }
  }
 }
 //存款
 private void setMoney(){
  System.out.print("請輸入要存的錢數纖中罩:");
  String setMoney = this.getInput();
  if(setMoney!=null){
   try {
    money += Double.parseDouble(setMoney);
      }
      catch (Exception ex) {
       ex.printStackTrace();
      }
  }
 }
 //密碼修改
 private void upPass(){
  System.out.print("請輸入新密碼:");
  String ps = this.getInput();
  if(ps!=null) pass = ps;
 }
 //退出
 private void exit(){
  System.exit(0);
 }
 
 private void subMeun(){
  System.out.println ("0.密碼驗證 1.查詢賬戶余額 2.取款 3.存款 4.密碼修改 5.退出");
  System.out.print ("請輸入選項:");
  String option = this.getInput();
  if(option!=null){
   if("0".equals(option)){
    this.loginMeun();
   }
   else if("1".equals(option)){
    this.selectMoney();
   }
   else if("2".equals(option)){
    this.getMoney();
   }
   else if("3".equals(option)){
    this.setMoney();
   }
   else if("4".equals(option)){
    this.upPass();
   }
   else if("5".equals(option)){
    this.exit();
   }
  }
  
 }
 
 private void mainMenu(){
  while(num<3){
   if(islogin){ //System.out.println ("登錄成功");
    num=0;
    this.subMeun();
   }
   else this.loginMeun();
  }
 }
 
 private void loginMeun(){
  System.out.print ("user:");
  String us = this.getInput();
  if(us!=null){
   System.out.print ("pass:");
   String ps = this.getInput();
   if(ps!=null){
    islogin = this.isLogin(us,ps);
   }
  }
 }
 
 private boolean isLogin(String us,String ps){
  if(this.isUser(us)){
   if(this.isPass(ps))
    return true;
   else{
    num++;
    return false;
   }
  }
  return false;
 }
 
 private boolean isUser(String user){
  if(this.user.equals(user))
   return true;
  else
   return false;
 }
 
 private boolean isPass(String pass){
  if(this.pass.equals(pass))
   return true;
  else
   return false;
 }
 
 public static void main(String[] args){
  Test t = new Test();
  t.mainMenu();
 }
}
Ⅵ Java密碼正確與否的判斷
先看下輸入吧
最好equals判斷反譽鏈過來寫
常量值寫碰虛或在前面
這樣寫密碼如果為null
會拋空指針異常笑伍!
Ⅶ 在JAVA里,用戶登錄,系統對輸入的用戶名和密碼驗證,驗證次數最多三次正確的贏戶名密碼自己輸入
public static void main(String[] args) {
        try {
            int c = 0;
            while (true) {
                byte[] b1 = new byte[1024];
                byte[] b2 = new byte[1024];
                System.out.print("請輸入用戶名:");
                int x = System.in.read(b1);
                System.out.print("請輸入密碼:");
                int y = System.in.read(b2);
                String username = new String(b1, 0, x - 2);
                String password = new String(b2, 0, y - 2);
if (username.equals("zhangsan") && password.equals("123456")) {
                    System.out.println("登陸成功!!!");
                    break;
                } else if(c<2){
                    System.out.println();
                    System.out.println("登陸失敗,請重新輸入!!!");
                    
                }else{
                    System.out.println("對不起三次已過!!!");
                    System.exit(0);
                }
                c++;
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
粗略的寫了一個,希望對你罩段培有所幫助物唯,
也希望你不是簡單的抄代碼應付習題,要把東西學到自燃握己的腦子里。
Ⅷ JAVA密碼校驗正則表達式
String reg = "^[^\\s]{6,16}$";
String str = "abcd12";
if (str.matches(reg)) {
    ...
} else {
    ...
}
Ⅸ Java怎樣輸入驗證密碼在6到8位
if(null!=password){
    if(password.trim().length()>=6 &&password.trim().length()<=8){
        System.out.print("符合"返謹);
   }else{
         System.out.print("不符合差世嫌");
  }
}//您也虛手可以使用正則
Ⅹ java密碼復雜度校驗
qaz,qwer這種都不能通過?這不算連續沖源的吧,要實現這樣的你只能把連續的可能性列出來,比如[q,w,e,r,t,y,u,i,o,p]為一組,比如你的密碼包含wert四個字母,那你可以把這散耐態四個字母拆開,先使用w從數組中開始遍歷,發現w與數組中第二個元素相等,那麼再取密碼的第二個字母w與數組中的第三個元素比較,如果相等再比較下一個,滿足有三個字母對應上的就直接返回校驗不通過。
如果是要校驗0123456789和abcdefg這樣的連續的,你可以把密碼的拆分成char數組,數組每個元素轉成數值其實就是這個字元的ascii碼,畝灶然後比較相鄰的三個元素ascii碼是不是連續的就可以判斷出來,不過這種方法需要注意一點,比如'@'的ascii為64,'A'的ascii為65也是連續的,需要自己進行篩選。覺得這種方法麻煩的話也可以使用上面的方法把連續的都先列舉出來。
我只寫一下我的想法,僅供參考。
