zoukankan      html  css  js  c++  java
  • java编写Base64密码器

    Base64加密算法,应用广泛,尤其是在电子邮件传输上,有很大的用途

    用JAVA编写的程序代码如下

    import java.awt.BorderLayout;
    import java.awt.EventQueue;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.IOException;
    
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import javax.swing.JTextArea;
    import javax.swing.JButton;
    
    public class Base64Frame extends JFrame {
    
        private JPanel contentPane;
        private JButton btnNewButton;
        private JTextArea textArea;
        private JButton btnNewButton_1;
        private JTextArea textArea_1;
    
        /**
         * Launch the application.
         */
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        Base64Frame frame = new Base64Frame();
                        frame.setVisible(true);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
    
        /**
         * Create the frame.
         */
        public Base64Frame() {
            setTitle("Base64密码器");
            setResizable(false);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setBounds(100, 100, 505, 405);
            contentPane = new JPanel();
            contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
            setContentPane(contentPane);
            contentPane.setLayout(null);
            
            textArea = new JTextArea();
            textArea.setBounds(14, 13, 471, 136);
            contentPane.add(textArea);
            
            textArea_1 = new JTextArea();
            textArea_1.setBounds(14, 206, 471, 151);
            contentPane.add(textArea_1);
            
            btnNewButton = new JButton("编码");
            btnNewButton.setBounds(14, 166, 113, 27);
            contentPane.add(btnNewButton);
            
            btnNewButton_1 = new JButton("解码");
            btnNewButton_1.setBounds(372, 162, 113, 27);
            contentPane.add(btnNewButton_1);
            btnNewButton.addActionListener(new ActionListener() {
                
                @Override
                public void actionPerformed(ActionEvent e) {
                    textArea_1.setText(Base64Util.encryptBase64(textArea.getText().getBytes()));
                    
                }
            });
            btnNewButton_1.addActionListener(new ActionListener() {
                
                @Override
                public void actionPerformed(ActionEvent e) {
                    try {
                        textArea_1.setText(Base64Util.decryptBase64(textArea.getText()));
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                    
                }
            });
        }
    }
    import java.io.IOException;
    
    import Decoder.BASE64Decoder;
    import Decoder.BASE64Encoder;
    
    
    public class Base64Util {
        
        public static String encryptBase64(byte[] data){
            return new BASE64Encoder().encode(data);//编码算法
        }
        
        public static String decryptBase64(String data) throws IOException{
            byte[] resultBytes = new BASE64Decoder().decodeBuffer(data);//data代表密文
            return new String(resultBytes);//返回字节数组的字符串形式
        }
    
    }

    其中的Base64Util工具类由极客学院提供;

    其中需要sun.misc.BASE64Decode.jar  JDK开发包的支持;可以去JDK的官网下下载,也可以点击此链接下载

    http://yunpan.cn/c3XmzH5Tmcg6b  访问密码 f450

  • 相关阅读:
    [Linux] 设置系统时区
    [Python] 当猎头遇上 Guido van Rossum
    [Ubuntu] LightDM 轻量级桌面显示管理器
    [Java] Apache Ant 构建基础教程
    [Python] pip 简明指南
    .NET Core下的Spring Cloud——前言和概述
    福州首届.NET开源社区技术交流会圆满成功
    【福州活动】| "福州首届.NET开源社区线下技术交流会"(2018.11.10)
    使用CoreRT将.NET Core发布为Native应用程序
    使用.NET Core快速开发一个较正规的命令行应用程序
  • 原文地址:https://www.cnblogs.com/qq1402876003/p/5046527.html
Copyright © 2011-2022 走看看