亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

java 加密

2019-11-18 12:10:35
字體:
來源:轉載
供稿:網友

  1 前言
  
    大家知道,在登錄Microsoft Windows操作系統過程中,在登錄窗口中需要用戶輸入注冊用戶名稱和密碼。細心的讀者會發現:用戶輸入的注冊用戶名稱內容為原碼字符顯示,而注冊密碼內容為掩碼字符顯示。例如,同樣在兩各文本區中輸入字符"a",在用戶名文本區中顯示的是字符"a",而在密碼區中顯示的字符為掩碼"*",這就是所謂的密碼屏蔽輸入。將輸入的密碼屏蔽回顯,不僅增強了用戶私有信息的安全性,更重要的是維護了計算機系統的穩定性和安全性。
  
  
  
    java以其語言的面向對象能力、高安全性和Java平臺的系統無關性等技術優勢,在商務軟件開發過程中贏得了眾多程序設計人員的青睞。JDK在AWT和JFC類庫中定義了用于密碼字符屏蔽的應用程序設計接口(API),使應用系統開發人員在編寫圖形用戶界面程序時,能夠靈活地定義密碼回顯方式。但是,對于基于命令行方式的Java應用程序,JDK沒有定義相應的密碼屏蔽策略,程序設計人員必須編寫字符回顯控制代碼。本文將通過對實例代碼的分析,對基于JDK平臺開發Java應用程序的密碼屏蔽輸入方法進行探討,主要內容包括:
  
  
  
    ●AWT組件對象密碼屏蔽方法
  
  
  
    ●JSwing組件對象密碼屏蔽方法
  
  
  
    ●Java命令行程序密碼屏蔽方法
  
  
  
    2 利用AWT組件實現密碼屏蔽輸入
  
  
  
    Java抽象窗口工具包(Abstract Window Toolkit,AWT)是在JDK1.0版本中定義的用于編寫Java圖形用戶界面程序的應用程序設計接口,程序設計人員可以利用該包中定義的多種類型組件對象,編寫具有用戶界面的應用程序。
  
  
  
    為了實現用戶輸入信息的屏蔽,可以利用AWT組件庫中定義的TextField對象,該對象的定義繼續結構如下:
  
  
  
  
  
  
  
  java.lang.Object
  
  
  
  
  
  
  
  +--java.awt.Component
  
  
  
  
  
  
  
  +--java.awt.TextComponent
  
  
  
  
  
  
  
  +--java.awt.TextField
  
  
  
  
  
  
  
    在該對象中,定義了用于設置和維護用戶輸入字符回顯方式的方法,這些方法的定義形式為:
  
  
  
      char getEchoChar():獲取用戶定義的文本區回顯字符;
  
  
  
      boolean echoCharIsSet()判定是否定義了回顯字符;
  
  
  
      void setEchoChar(char c):設置文本區回顯字符為字符c。
  
  
  
    因此,在讀者編寫的Java程序中,可以在創建TextField對象實例后,例如上述方法控制文本區回顯字符的方式。下面的程序完整地演示了回顯字符的定義方式:
  
  
  
  
  
  
  
  //PassWordMaSKINgDemo.java
  
  
  
  import java.awt.*;
  
  
  
  import java.awt.event.*;
  
  
  
  import javax.swing.JOptionPane;
  
  
  
  public class PasswordMaskingDemo
  
  
  
  {
  
  
  
  public static void main(String args[])
  
  
  
  {
  
  
  
  final Frame frmFrame = new Frame();
  
  
  
  Panel pnlPanel = new Panel();
  
  
  
  Label lblUsername = new Label("用戶名");
  
  
  
  Label lblPassword = new Label("密碼");
  
  
  
  final TextField txtUsername = new TextField("Anyomonus");
  
  
  
  final TextField txtPassword = new TextField("", 8);
  
  
  
  txtUsername.setEditable(false);
  
  
  
  txtPassword.setEchoChar('*');
  
  
  
  Button BTnButton1 = new Button("登錄");
  
  
  
  Button btnButton2 = new Button("其它用戶登錄");
  
  
  
  Button btnButton3 = new Button("關閉");
  
  
  
  btnButton1.addActionListener( new ActionListener()
  
  
  
  {
  
  
  
  public void actionPerformed(ActionEvent e)
  
  
  
  {
  
  
  
  if( (txtPassword.getText()).length() == 0 )
  
  
  
  {
  
  
  
  JOptionPane.showMessageDialog
  
  
  
      (frmFrame, "密碼不能為空");
  
  
  
  return;
  
  
  
  }
  
  
  
  txtPassword.setColumns(16);
  
  
  
  System.out.  
  
  
        txtPassword.getText() );
  
  
  
  }
  
  
  
  });
  
  
  
  btnButton2.addActionListener( new ActionListener()
  
  
  
  {
  
  
  
  public void actionPerformed(ActionEvent e)
  
  
  
  {
  
  
  
  txtUsername.setEditable(true);
  
  
  
  }
  
  
  
  });
  
  
  
  btnButton3.addActionListener( new ActionListener()
  
  
  
  {
  
  
  
  public void actionPerformed(ActionEvent e)
  
  
  
  {
  
  
  
  System.exit(0);
  
  
  
  }
  
  
  
  });
  
  
  
  pnlPanel.add(lblUsername);
  
  
  
  pnlPanel.add(txtUsername);
  
  
  
  pnlPanel.add(lblPassword);
  
  
  
  pnlPanel.add(txtPassword);
  
  
  
  pnlPanel.add(btnButton1);
  
  
  
  pnlPanel.add(btnButton2);
  
  
  
  pnlPanel.add(btnButton3);
  
  
  
  frmFrame.add(pnlPanel);
  
  
  
  frmFrame.setTitle("演示TextField對象的應用方法");
  
  
  
  frmFrame.pack();
  
  
  
  frmFrame.show();
  
  
  
  }
  
  
  
  }
  
  
  
  
  
  
  
    該程序運行的窗口形式如下圖所示:
  
  
  
  
  
  
  
    圖1 PasswordMaskingDemo.java程序運行窗口
  
  
  
    在上述程序中,與文本區回顯控制相關的代碼為:
  
  
  
  
  
  
  
  final TextField txtPassword = new TextField("", 8);
  
  
  
  txtPassword.setEchoChar('*');
  
  
  
  
  
  
  
    在上面的代碼中,首先創建初始內容為空、可輸入8個字符的TextField對象實例txtPassword后,利用TextField對象中定義的setEchoChar方法設置該文本區的回顯字符為星號"*",從而實現輸入字符的掩碼。因此總結為:可以利用TextField對象中定義的setEchoChar方法,實現AWT組件對象程序中的字符掩碼輸入和回顯控制。
  
  
  
    3 利用JSwing組件對象實現密碼屏蔽輸入
  
  
  
    JSwing組件對象是輕量級Java組件對象,其中定義了多種組件對象類型,而且其外觀也更加新奇。與AWT組件對象相對應,在JSwing組件對象中也定義了JTextField對象,用于用戶進行文本輸入。那么,讀者是否會聯想利用對象中也定義的setEchoChar方法定義回顯字符呢?實際情況不是這樣。在JTextField對象中沒有定義該方法,而是以JTextField為父對象,定義了用于進行密碼輸入的文本區對象JPasswordField,該對象的定義繼續結構如下:
  
  
  
  
  
  
  
  java.lang.Object
  
  
  
  
  
  
  
  +--java.awt.Component
  
  
  
  
  
  
  
  +--java.awt.Container
  
  
  
  
  
  
  
  +--javax.swing.JComponent
  
  
  
  
  
  
  
  +--javax.swing.text.JTextComponent
  
  
  
  
  
  
  
  +--javax.swing.JTextField
  
  
  
  
  
  
  
  +--javax.swing.JPasswordField
  
  
  
  
  
  
  
    在JPasswordField對象中,定義了多種類型

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品做受xxx性少妇| 亚洲最大福利网| 亚洲天堂久久av| 亚洲最新av在线| 久久久精品视频在线观看| 亚洲午夜女主播在线直播| 91免费福利视频| 欧美性猛交xxxx黑人| 午夜免费日韩视频| 91精品国产沙发| 亚洲综合社区网| 欧美激情一区二区久久久| 日韩免费观看av| 亚洲国产古装精品网站| 国产成人精品久久久| 精品magnet| 日韩中文字幕视频在线| 国产69精品久久久久99| 久久久av电影| 亚洲福利在线播放| 亚洲精品欧美日韩专区| 成人在线视频福利| 国产色视频一区| 亚洲国产欧美一区| 欧美另类极品videosbest最新版本| 欧美成年人视频| 亚洲精品小视频在线观看| 在线免费观看羞羞视频一区二区| 91精品久久久久久久久久久久久久| 国产成人精品999| 欧美精品九九久久| 热re99久久精品国产66热| 97香蕉超级碰碰久久免费软件| 亚洲精品久久久久久下一站| 久久久久久香蕉网| 国产va免费精品高清在线观看| 欧美放荡办公室videos4k| 国产欧美日韩亚洲精品| 性欧美激情精品| 国产第一区电影| 成人免费看片视频| 国产精品27p| 日本午夜人人精品| www.美女亚洲精品| 91国产视频在线播放| 色婷婷综合成人| 亚洲精品视频在线观看视频| 国产精品丝袜高跟| 欧美夜福利tv在线| 亚洲一级一级97网| 欧美最猛性xxxx| 欧美在线免费观看| 欧美黄网免费在线观看| 久久精品电影网站| 久久久999精品免费| 日韩欧美在线一区| 欧美激情高清视频| 欧美裸体视频网站| 国产一区二区三区直播精品电影| 欧美视频精品一区| 欧美日韩在线第一页| 92看片淫黄大片看国产片| 国产色视频一区| 91精品久久久久久久久久另类| 久久久久久久久电影| 成人黄色av播放免费| 久久精品国产视频| 成人福利在线观看| 中文.日本.精品| 欧美在线一级va免费观看| 黑人与娇小精品av专区| 亚洲免费影视第一页| 欧美黑人性猛交| 91九色国产社区在线观看| 亚洲精品456在线播放狼人| 成人做爽爽免费视频| 欧美高清视频一区二区| 久99久在线视频| 亚州av一区二区| 久久视频在线直播| 7m精品福利视频导航| 色综合导航网站| 国产日韩av在线| 日韩av综合中文字幕| 欧美噜噜久久久xxx| 中日韩美女免费视频网址在线观看| 欧美极品少妇全裸体| 成人免费视频在线观看超级碰| 亚洲人成毛片在线播放| 精品少妇一区二区30p| 亚洲影院在线看| 国产精品久久久久久亚洲调教| 中文字幕在线观看亚洲| 深夜精品寂寞黄网站在线观看| 精品国内产的精品视频在线观看| 久久综合网hezyo| 精品成人久久av| 亚洲精品国产福利| 亚洲国产成人精品女人久久久| 久久久免费高清电视剧观看| 韩国19禁主播vip福利视频| 日韩在线高清视频| 久久精品国产亚洲精品2020| 91高清视频免费观看| 久久久www成人免费精品张筱雨| 欧美性猛交xxxx乱大交| 国产成人精品日本亚洲专区61| 精品国产成人av| 欧美黑人xxxⅹ高潮交| 91精品国产91久久久久久最新| 青青久久av北条麻妃海外网| 国产精品91久久久久久| 91精品国产高清自在线看超| 亚洲人成毛片在线播放| 欧美在线视频观看免费网站| 九九综合九九综合| 国产日韩亚洲欧美| 精品久久久av| 国产精品美乳一区二区免费| 国产suv精品一区二区三区88区| 亚洲天堂男人天堂女人天堂| 欧美丝袜美女中出在线| 日韩最新中文字幕电影免费看| 91精品综合视频| 精品视频偷偷看在线观看| www.亚洲天堂| 国产精品精品视频一区二区三区| 亚洲精品自拍第一页| 超碰91人人草人人干| 亚洲欧美国产制服动漫| 国产成人一区二区三区电影| 日本欧美一级片| 久久久久国产精品一区| 欧美天天综合色影久久精品| 一区二区三区久久精品| 精品av在线播放| 成人乱色短篇合集| 国产一级揄自揄精品视频| 欧美寡妇偷汉性猛交| 国产福利精品在线| 色偷偷偷亚洲综合网另类| 久久夜色精品亚洲噜噜国产mv| 日韩av成人在线| 久久久av亚洲男天堂| 一区二区三区精品99久久| 久久九九热免费视频| 51精品国产黑色丝袜高跟鞋| 日韩禁在线播放| 亚洲国产精品热久久| 国产91色在线|| 亚洲第一av网站| 成人福利视频网| 草民午夜欧美限制a级福利片| 亚洲国产欧美一区二区三区久久| 国产精品7m视频| 一本一本久久a久久精品综合小说| 亚洲天堂av网| 亚洲精品一二区| 国产精品h在线观看| 日韩成人xxxx| 亚洲乱码国产乱码精品精| 成人黄色av播放免费| 国产精品一区二区三区久久久| 久久精品国产96久久久香蕉|