我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用Java怎么实现文本的加密和解密

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用Java怎么实现文本的加密和解密

今天就跟大家聊聊有关使用Java怎么实现文本的加密和解密,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

java基本数据类型有哪些

Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。2、浮点类型,用来表示小数的数据类型。3、字符类型,字符类型的关键字是“char”。4、布尔类型,是表示逻辑值的基本数据类型。

一、题目

编写一个Java程序,实现一个文本信息的加密。

二、要求

可视化界面,友好的输入和输出,文件的存取。

三、分析

所谓数据加密(Data Encryption)技术是指将一个信息(或称明文,plain text)经过加密钥匙(Encryption key)及加密函数转换,变成无意义的密文(cipher text),而接收方则将此密文经过解密函数、解密钥匙(Decryption key)还原成明文。

四、界面规划

登录验证界面

使用Java怎么实现文本的加密和解密

建立基本框架,基于Swing中Frame

各组件的属性

组件编号/类型名称/属性
1 /JLabellblNewLabel/用户名
2/JPasswordFieldpasswordField/
3 /JButtonbtnNewButton/确定
4 /JTextFieldtextField/
5 /JPasswordFieldpasswordField/
6 /JButtonbtnNewButton_1/退出

(左边一列从上到下依次为1-2,右边一列从上到下依次为3-5)

五、功能实现

5.1 确定功能实现

当use_name和password都正确时,跳转到下一界面,否则按下正确按钮时,将输入的字符串重置为空。

String use_name=textField.getText();String password;password=String.valueOf(passwordField.getPassword());if(use_name.equals("DJC期待")&&password.equals("1234")) {SignUp.this.setVisible(false);Jia_mi d=new Jia_mi();//加密和解密类d.setVisible(true);}else {String nl="";textField.setText(nl);passwordField.setText(nl);}

5.2 退出功能实现

正常退出,程序正常执行结束退出

System.exit(0);

使用Java怎么实现文本的加密和解密

建立基本框架,基于Swing中Frame

各组件的属性

组件编号/类型名称/属性
1 /JButtonbtnNewButton_2/<<翻译
2/JTextAreatextArea/
3 /JButtonbtnNewButton_1/打开密文
4/JTextAreatextArea_1/
5 /JButtonbtnNewButton/保存文本

(左边一列从上到下依次为1-2,右边一列从上到下依次为3-5)

多行文本输入框的功能与单行文本输入框的功能相同,只是它能显示更多的文字。因为单行文本输入框只能输入一行的文字,所以需要输入和显示较多的文字时,就要用到多行文本输入框。多行文本输入框是由 JTextArea 类实现的。

5.3 加密文本的产生

在caretUpdate()函数中,先取到用户输入的字符然后依次将这些字符转为Unicode编码加999重新以字符的编码赋值输出,显示在右边Jtextarea中。

String str1=textArea.getText();String str2="";char c;for(int i=0;i<str1.length();i++) {c=str1.charAt(i);c=(char)(c+999);str2+=c;}textArea_1.setText(str2);

5.4 密码文件的保存

JFileChooser jfchooser=new JFileChooser();if(jfchooser.showSaveDialog(null)==JFileChooser.APPROVE_OPTION) {File f=jfchooser.getSelectedFile();try {FileWriter fw=new FileWriter(f);String str=textArea_1.getText();fw.write(str);fw.close();}catch(IOException e1) {e1.printStackTrace();}}

5.5 密码文件的解密

public void actionPerformed(ActionEvent e) {JFileChooser fchooser=new JFileChooser();if(fchooser.showOpenDialog(null)==JFileChooser.APPROVE_OPTION) {File f=fchooser.getSelectedFile();try {FileReader fr=new FileReader(f);try {int n=fr.read();String str="";char c;while(n!=-1) {c=(char)n;str+=c;n=fr.read();}textArea_1.setText(str);fr.close();}catch(IOException e1) {e1.printStackTrace();}}catch(FileNotFoundException e1) {e1.printStackTrace();}}

5.6 <<翻译

加密过程的反过程。

 String str2=textArea_1.getText();String str1="";for(int i=0;i<str2.length();i++) {char c=str2.charAt(i);c=(char)(c-999);str1+=c;}textArea.setText(str1);}

六、功能测试

登录

使用Java怎么实现文本的加密和解密

账号和密码不同时为对时,账号框和密码框重置。

使用Java怎么实现文本的加密和解密

密码和账号同时为对时,进入加密和解密界面。

使用Java怎么实现文本的加密和解密

文本与加密文本的转换。

使用Java怎么实现文本的加密和解密
使用Java怎么实现文本的加密和解密

保存的文件。
打开密文方法与以上相同。

使用Java怎么实现文本的加密和解密

将密文(Unicode编码)转换明文。
将程序导出为一个可执行的Java软件

使用Java怎么实现文本的加密和解密

桌面可执行软件。
步骤:File-Export-选择main函数所在类-选择导出的位置。

七、程序源码

7.1 SignUp.java

package 文本信息的加密与解密;import java.awt.BorderLayout;import java.awt.EventQueue;import java.awt.Frame;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.JLabel;import javax.swing.JTextField;import javax.swing.JButton;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import javax.swing.JPasswordField;public class SignUp extends JFrame {private JPanel contentPane;private JTextField textField;private JPasswordField passwordField;public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {SignUp frame = new SignUp();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}public SignUp() {setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 450, 300);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));setContentPane(contentPane);contentPane.setLayout(null);JLabel lblNewLabel = new JLabel("\u7528\u6237\u540D");lblNewLabel.setBounds(34, 27, 69, 26);contentPane.add(lblNewLabel);JLabel lblNewLabel_1 = new JLabel("\u5BC6\u7801");lblNewLabel_1.setBounds(34, 104, 69, 26);contentPane.add(lblNewLabel_1);textField = new JTextField();textField.setBounds(153, 30, 164, 35);contentPane.add(textField);textField.setColumns(10);JButton btnNewButton = new JButton("\u786E\u5B9A");btnNewButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {String use_name=textField.getText();String password;password=String.valueOf(passwordField.getPassword());if(use_name.equals("DJC期待")&&password.equals("1234")) {SignUp.this.setVisible(false);Jia_mi d=new Jia_mi();d.setVisible(true);}else {String nl="";textField.setText(nl);passwordField.setText(nl);}}});btnNewButton.setBounds(53, 194, 93, 23);contentPane.add(btnNewButton);JButton btnNewButton_1 = new JButton("\u9000\u51FA");btnNewButton_1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {System.exit(0);}});btnNewButton_1.setBounds(234, 194, 93, 23);contentPane.add(btnNewButton_1);passwordField = new JPasswordField();passwordField.setBounds(153, 104, 164, 24);contentPane.add(passwordField);}}

7.2 Jia_mi.java

package 文本信息的加密与解密;import java.awt.EventQueue;import java.awt.Frame;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import java.awt.event.ActionListener;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.awt.event.ActionEvent;import javax.swing.JTextArea;import javax.swing.JButton;import javax.swing.JFileChooser;import javax.swing.event.CaretListener;import javax.swing.event.CaretEvent;public class Jia_mi extends JFrame {private JPanel contentPane;public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {Jia_mi frame = new Jia_mi();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}public Jia_mi() {setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 630, 404);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));setContentPane(contentPane);contentPane.setLayout(null);JTextArea textArea_1 = new JTextArea();textArea_1.setWrapStyleWord(true);textArea_1.setLineWrap(true);textArea_1.setBounds(356, 97, 187, 164);contentPane.add(textArea_1);JTextArea textArea = new JTextArea();textArea.setWrapStyleWord(true);textArea.setLineWrap(true);textArea.addCaretListener(new CaretListener() {public void caretUpdate(CaretEvent arg0) {String str1=textArea.getText();String str2="";char c;for(int i=0;i<str1.length();i++) {c=str1.charAt(i);c=(char)(c+999);str2+=c;}textArea_1.setText(str2);}});textArea.setBounds(35, 97, 187, 164);contentPane.add(textArea);JButton btnNewButton = new JButton("\u4FDD\u5B58\u6587\u672C");btnNewButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {JFileChooser jfchooser=new JFileChooser();if(jfchooser.showSaveDialog(null)==JFileChooser.APPROVE_OPTION) {File f=jfchooser.getSelectedFile();try {FileWriter fw=new FileWriter(f);String str=textArea_1.getText();fw.write(str);fw.close();}catch(IOException e1) {e1.printStackTrace();}}}});btnNewButton.setBounds(360, 303, 93, 23);contentPane.add(btnNewButton);JButton btnNewButton_1 = new JButton("\u6253\u5F00\u5BC6\u6587");btnNewButton_1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {JFileChooser fchooser=new JFileChooser();if(fchooser.showOpenDialog(null)==JFileChooser.APPROVE_OPTION) {File f=fchooser.getSelectedFile();try {FileReader fr=new FileReader(f);try {int n=fr.read();String str="";char c;while(n!=-1) {c=(char)n;str+=c;n=fr.read();}textArea_1.setText(str);fr.close();}catch(IOException e1) {e1.printStackTrace();}}catch(FileNotFoundException e1) {e1.printStackTrace();}}}});btnNewButton_1.setBounds(397, 31, 93, 23);contentPane.add(btnNewButton_1);JButton btnNewButton_2 = new JButton("<<\u7FFB\u8BD1");btnNewButton_2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {String str2=textArea_1.getText();String str1="";for(int i=0;i<str2.length();i++) {char c=str2.charAt(i);c=(char)(c-999);str1+=c;}textArea.setText(str1);}});btnNewButton_2.setBounds(129, 31, 93, 23);contentPane.add(btnNewButton_2);}public Jia_mi(Frame f) {// TODO 自动生成的构造函数存根}}

看完上述内容,你们对使用Java怎么实现文本的加密和解密有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用Java怎么实现文本的加密和解密

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用Java怎么实现文本的加密和解密

今天就跟大家聊聊有关使用Java怎么实现文本的加密和解密,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数
2023-06-14

java怎么实现rsa加密解密文件

要在Java中实现RSA加密和解密文件,可以使用Java Cryptography Architecture(JCA)提供的RSA算法。以下是一个简单的示例代码,用于加密和解密文件。导入必要的类和包:import java.io.File
2023-10-26

使用Java实现加密之AES加解密

这篇文章主要介绍了使用Java实现加密之AES加解密,AES为最常见的对称加密算法,对称加密算法也就是加密和解密用相同的密钥,需要的朋友可以参考下
2023-05-18

Java怎么实现加密或解密PDF文档

这篇文章主要介绍了Java怎么实现加密或解密PDF文档的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java怎么实现加密或解密PDF文档文章都会有所收获,下面我们一起来看看吧。PDF文档加密是一种用于保护文件内
2023-07-05

Java IO--实现文件的加密解密

我们知道文件存储的方式在计算机当中是以字节的方式进行存储的,可以通过对文件字节的操作来实现文件的加密。下面的例子是通过读
Java IO--实现文件的加密解密
2021-03-16

如何实现bat文件加密和解密脚本

这篇文章给大家分享的是有关如何实现bat文件加密和解密脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。bat加密脚本(保存为.BAT文件) @echo off cls color 2a :start cls e
2023-06-08

Java使用AES加密和解密的实例详解

Java使用AES加密和解密的实例详解前言:AES的基本要求是,采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位,算法应易于各种硬件和软件实现。1998年NIST开始AES第一轮分析、测试和征集,共产生了1
2023-05-31

如何使用vbs实现解密base64加密的脚本

这篇文章主要为大家展示了“如何使用vbs实现解密base64加密的脚本”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用vbs实现解密base64加密的脚本”这篇文章吧。代码如下:Funct
2023-06-08

使用Java怎么实现一个3des加密解密工具类

这期内容当中小编将会给大家带来有关使用Java怎么实现一个3des加密解密工具类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体如下:package com.gcloud.common;import o
2023-05-30

怎么使用jquery实现文件加密

本文小编为大家详细介绍“怎么使用jquery实现文件加密”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用jquery实现文件加密”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、什么是jqueryjQue
2023-07-05

Java实现文件的加密解密功能示例

本文实例讲述了Java实现文件的加密解密功能分享给大家供大家参考,具体如下:package com.copy.encrypt;import java.io.File;import java.io.FileInputStream;import
2023-05-31

android使用AES加密和解密文件实例代码

前言最近公司需要对本公司的一些下载文件进行加密解密需求,也就尝试去实现下,其实需要借助第三方的jar包:bcprov-jdk15on-155.jar,下载这个可以到网上搜或者下载本人的demo即可,注意:需要加密和解密的key是一致的才可以
2023-05-31

怎么利用Python实现RSA加密解密

这篇文章主要介绍“怎么利用Python实现RSA加密解密”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么利用Python实现RSA加密解密”文章能帮助大家解决问题。RSA加密实验基本流程:一、选取
2023-06-29

如何使用PHP进行文件加密和解密操作?(PHP加密和解密文件的常用方法是什么?)

PHP文件加密和解密指南本文提供了各种方法来使用PHP进行文件加密和解密,包括对称和非对称加密。对称加密使用相同的密钥进行加解密,而非对称加密使用公钥和私钥对。加密步骤包括选择算法、生成密钥和对文件执行加密操作。解密步骤包括获取密钥并对文件进行解密。文章还提供了安全注意事项和替代方法,例如PHPmcrypt扩展、SodiumPHP库和HashicorpVault。选择最合适的方法取决于安全级别、性能、兼容性、易用性等因素。
如何使用PHP进行文件加密和解密操作?(PHP加密和解密文件的常用方法是什么?)
2024-04-02

使用python怎么破解加密zip文件的密码

使用python怎么破解加密zip文件的密码?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具
2023-06-14

JAVA 如何实现解密RSA算法并使用JS加密

JAVA 如何实现解密RSA算法并使用JS加密?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。JAVA 中解密RSA算法JS加密实例详解有这样一个需求,前端登录的用户名密码,
2023-05-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录