知识大全 java 加密

Posted 字符

篇首语:得意犹堪夸世俗,诏黄新湿字如鸦。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 java 加密相关的知识,希望对你有一定的参考价值。

   前言      大家知道 在登录Microsoft Windows操作系统过程中 在登录窗口中需要用户输入注册用户名称和密码 细心的读者会发现 用户输入的注册用户名称内容为原码字符显示 而注册密码内容为掩码字符显示 例如 同样在两各文本区中输入字符 a 在用户名文本区中显示的是字符 a 而在密码区中显示的字符为掩码 * 这就是所谓的密码屏蔽输入 将输入的密码屏蔽回显 不仅增强了用户私有信息的安全性 更重要的是维护了计算机系统的稳定性和安全性           Java以其语言的面向对象能力 高安全性和Java平台的系统无关性等技术优势 在商务软件开发过程中赢得了众多程序设计人员的青睐 JDK在AWT和JFC类库中定义了用于密码字符屏蔽的应用程序设计接口(API) 使应用系统开发人员在编写图形用户界面程序时 能够灵活地定义密码回显方式 但是 对于基于命令行方式的Java应用程序 JDK没有定义相应的密码屏蔽策略 程序设计人员必须编写字符回显控制代码 本文将通过对实例代码的分析 对基于JDK平台开发Java应用程序的密码屏蔽输入方法进行探讨 主要内容包括           ●AWT组件对象密码屏蔽方法          ●JSwing组件对象密码屏蔽方法          ●Java命令行程序密码屏蔽方法           利用AWT组件实现密码屏蔽输入          Java抽象窗口工具包(Abstract Window Toolkit AWT)是在JDK 版本中定义的用于编写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( );        txtUsername setEditable(false);        txtPassword setEchoChar( * );        Button btnButton = new Button( 登录 );        Button btnButton = new Button( 其它用户登录 );        Button btnButton = new Button( 关闭 );        btnButton addActionListener( new ActionListener()                public void actionPerformed(ActionEvent e)                if( (txtPassword getText()) length() == )                JOptionPane showMessageDialog            (frmFrame 密码不能为空 );        return;                txtPassword setColumns( );        System out println( Anyomonus用户的密码 +              txtPassword getText() );                );        btnButton addActionListener( new ActionListener()                public void actionPerformed(ActionEvent e)                txtUsername setEditable(true);                );         btnButton addActionListener( new ActionListener()                public void actionPerformed(ActionEvent e)                System exit( );                );        pnlPanel add(lblUsername);         pnlPanel add(txtUsername);         pnlPanel add(lblPassword);         pnlPanel add(txtPassword);         pnlPanel add(btnButton );        pnlPanel add(btnButton );        pnlPanel add(btnButton );        frmFrame add(pnlPanel);        frmFrame setTitle( 演示TextField对象的应用方法 );        frmFrame pack();        frmFrame show();                                   该程序运行的窗口形式如下图所示                   图 PasswordMaskingDemo java程序运行窗口          在上述程序中 与文本区回显控制相关的代码为                 final TextField txtPassword = new TextField( );        txtPassword setEchoChar( * );                  在上面的代码中 首先创建初始内容为空 可输入 个字符的TextField对象实例txtPassword后 利用TextField对象中定义的setEchoChar方法设置该文本区的回显字符为星号 * 从而实现输入字符的掩码 因此总结为 可以利用TextField对象中定义的setEchoChar方法 实现AWT组件对象程序中的字符掩码输入和回显控制            利用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对象中 定义了多种类型 cha138/Article/program/Java/hx/201311/26940

相关参考

知识大全 java中使用MD5加密算法进行加密

java中使用MD5加密算法进行加密  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在各种应用系

知识大全 Java加密保护

Java加密保护  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  众所周知java开发语言提供了很

知识大全 Java加密和数字签名

Java加密和数字签名  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java加密和数字签名本文

知识大全 漫谈Java加密技术(二)

漫谈Java加密技术(二)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  接下来我们介绍对称加密

知识大全 漫谈Java加密技术(一)

漫谈Java加密技术(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  加密解密曾经是我一个毕

知识大全 java密码加密与解密

  以下两个类可以很方便的完成字符串的加密和解密  加密CryptHelperencrypt(password)  解密CrypHelperdecrypt(password)  代码如下  Crypt

知识大全 java字符串加密解密

  java字符串加密解密  tryStringtest=EncryptionDecryptiondes=newEncryptionDecryption(tourhb)//自定义密钥Systemout

知识大全 Java技术进阶 基于Java的IDEA加密算法探讨

Java技术进阶基于Java的IDEA加密算法探讨  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 谈谈Java加密技术(七)

谈谈Java加密技术(七)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ECC  ECCEll

知识大全 深入Java字节码加密

深入Java字节码加密  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  问  如果我把我的clas