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

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

java加密

2019-11-18 11:17:52
字體:
來源:轉載
供稿:網友

  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
色综合91久久精品中文字幕| 在线亚洲国产精品网| 亚洲国产私拍精品国模在线观看| 国内外成人免费激情在线视频网站| 一区三区二区视频| 在线视频欧美日韩精品| 午夜精品福利视频| 欲色天天网综合久久| 亚洲人成毛片在线播放| 日韩综合视频在线观看| 欧美在线一级va免费观看| 97久久久久久| 国产色婷婷国产综合在线理论片a| 久久久99免费视频| 欧美老女人在线视频| 欧美一区亚洲一区| 亚洲片国产一区一级在线观看| 日韩av在线电影网| 亚洲第一黄色网| 91免费精品国偷自产在线| 欧美日韩国产中文精品字幕自在自线| 成人网在线观看| 日韩美女在线观看一区| 日韩成人免费视频| 国色天香2019中文字幕在线观看| 国产精品入口免费视| 日韩电影免费观看中文字幕| 欧美超级乱淫片喷水| 国产成人精品电影| 日韩av免费观影| 欧美丝袜一区二区| 久久精品影视伊人网| 夜夜躁日日躁狠狠久久88av| 高跟丝袜一区二区三区| 日韩成人在线视频观看| 97在线视频免费看| 粉嫩av一区二区三区免费野| 欧美夫妻性生活视频| 欧美性猛交xxxx乱大交极品| 久久综合伊人77777| 91探花福利精品国产自产在线| 亚州精品天堂中文字幕| 亚洲一区二区三区四区视频| 97精品国产97久久久久久| 欧美日韩国产在线看| 亚洲国产精品电影在线观看| 久久久亚洲国产| 日韩亚洲国产中文字幕| 97免费中文视频在线观看| 久久91亚洲人成电影网站| 日韩美女免费线视频| 亚洲3p在线观看| 日韩欧美亚洲国产一区| 91精品国产高清久久久久久91| 亚洲精品视频播放| 成人久久一区二区三区| 国产在线播放不卡| 精品中文字幕在线2019| 中文字幕精品国产| 久久99青青精品免费观看| 精品一区二区电影| 久久中文字幕一区| 日韩中文在线观看| 亚洲美女在线观看| 欧美成人精品激情在线观看| 日韩视频永久免费观看| 亚洲欧美成人在线| 91精品综合视频| 国产欧美一区二区三区视频| 亚洲人成五月天| 精品国产一区av| 91国内产香蕉| 91精品国产91久久久久久最新| 亚洲人成在线免费观看| 精品视频在线播放| 欧美成年人网站| 91在线色戒在线| 欧美日产国产成人免费图片| 欧美一区二区视频97| 91精品国产777在线观看| 久久精品中文字幕一区| 国产午夜精品视频免费不卡69堂| 日韩精品在线看| 亚洲国产精品va在线看黑人动漫| 国产在线精品一区免费香蕉| 日韩在线观看免费av| 国产欧美日韩免费| 欧美国产第二页| 欧美日韩国产在线看| 亚洲精品天天看| 91国产美女在线观看| 国内精品在线一区| 精品视频久久久| 欧美成人三级视频网站| 91精品国产91久久久久久不卡| 精品国产视频在线| 国产第一区电影| 中文字幕日本精品| 综合激情国产一区| 国产精品你懂得| 国产精品一区二区三区免费视频| 色哟哟网站入口亚洲精品| 亚洲的天堂在线中文字幕| 久久九九热免费视频| 一区二区三区四区在线观看视频| 日韩三级影视基地| 欧美精品情趣视频| 日韩视频一区在线| 国产精品扒开腿做| 亚洲天堂第二页| 亚洲人成网站免费播放| 成人一区二区电影| 国产精品视频精品视频| 亚洲v日韩v综合v精品v| 日韩av手机在线| 在线日韩欧美视频| 911国产网站尤物在线观看| 5566成人精品视频免费| 欧美综合国产精品久久丁香| 啊v视频在线一区二区三区| 最近2019年中文视频免费在线观看| 亚洲成人精品视频| 欧美日韩在线视频一区| 国产精品一区久久| 日韩美女免费视频| 精品国产欧美成人夜夜嗨| 国产精品久久一| 国产成人一区二| 亚洲无亚洲人成网站77777| 在线观看久久av| 美日韩丰满少妇在线观看| 欧美成人精品一区二区三区| 国产精品久久久亚洲| 琪琪亚洲精品午夜在线| 高跟丝袜一区二区三区| 日韩欧美精品免费在线| 中文字幕av一区二区三区谷原希美| 亚洲另类激情图| 欧美大片欧美激情性色a∨久久| 中文字幕亚洲一区在线观看| 久久久久五月天| 国产精品电影在线观看| 亚洲免费福利视频| 国产成人精品免费久久久久| 欧美一级片久久久久久久| 欧美精品在线观看| 久久精品99久久久久久久久| 欧美大学生性色视频| 亚洲老头老太hd| 久久精品男人天堂| 国产精品ⅴa在线观看h| 91精品视频免费观看| 亚洲精品成人久久| 在线免费观看羞羞视频一区二区| 精品综合久久久久久97| 亚洲韩国欧洲国产日产av| 亚洲女成人图区| 国产成人亚洲综合| 91chinesevideo永久地址| 免费成人高清视频| 国产经典一区二区| 中文字幕无线精品亚洲乱码一区| 亚洲一区二区三区视频| 日韩激情在线视频|