当前位置: 首页 > wzjs >正文

深圳网站建设 营销免费网址申请

深圳网站建设 营销,免费网址申请,公司 宜宾网站建设,一级a做爰小说免费网站使用JAVA-进行维吉尼亚密码的解密与加密-CSDN博客 对上面代码进行改进,并设计了GUI界面 来源于百度百科 维吉尼亚密码_百度百科 运行结果如下: 具体代码: package com.java.MiMa;import javax.swing.*; import java.awt.*; import java.aw…

使用JAVA-进行维吉尼亚密码的解密与加密-CSDN博客

对上面代码进行改进,并设计了GUI界面

来源于百度百科

维吉尼亚密码_百度百科

运行结果如下:

具体代码:

package com.java.MiMa;import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/*
明文:ATTACKATDAWN
密钥:LEMONLEMONLE
密文:LXFOPVEFRNHR
解密后:ATTACKATDAWN*/public class WJMYmmGUI extends JFrame {// 常量 26public static final int N = 26;private JTextField plaintextField;private JTextField keyField;private JTextArea ciphertextArea;private JTextArea decryptedtextArea;public WJMYmmGUI() {setTitle("维吉尼亚密码加密解密工具");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(400, 300);setLayout(new GridLayout(4, 2, 10, 10));setLocationRelativeTo(null);//设置窗体居中// 明文输入部分JLabel plaintextLabel = new JLabel("请输入需要操作的文字:");plaintextField = new JTextField();add(plaintextLabel);add(plaintextField);// 密钥输入部分JLabel keyLabel = new JLabel("请输入密钥:");keyField = new JTextField();add(keyLabel);add(keyField);// 加密按钮和密文显示部分JButton encryptButton = new JButton("加密");ciphertextArea = new JTextArea();//密文显示ciphertextArea.setEditable(false);//设置不可编辑encryptButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String plaintext = plaintextField.getText().toUpperCase();//读取需要操作的文字,toUpperCase是大写,toLowerCase是小写String key = keyField.getText().toUpperCase();//读取密钥//将待处理文字与密钥去除空格plaintext = plaintext.replace(" ", "").toUpperCase();key = key.replace(" ", "").toUpperCase();if(key.length() != plaintext.length()){//判断密钥长度是否与明文长度相同JOptionPane.showMessageDialog(WJMYmmGUI.this, "密钥长度必须与明文长度相同!", "错误", JOptionPane.ERROR_MESSAGE);return;}String ciphertext = encrypt(plaintext, key);//进行加密ciphertextArea.setText(ciphertext);//设置加密结果显示}});add(encryptButton);add(new JScrollPane(ciphertextArea));// 解密按钮和解密结果显示部分JButton decryptButton = new JButton("解密");decryptedtextArea = new JTextArea();decryptedtextArea.setEditable(false);//设置不可编辑decryptButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String plaintext = plaintextField.getText().toUpperCase();//读取需要操作的文字String key = keyField.getText().toUpperCase();//读取密钥//将待处理文字与密钥去除空格plaintext = plaintext.replace(" ", "").toUpperCase();key = key.replace(" ", "").toUpperCase();if(key.length() != plaintext.length()){//判断密钥长度是否与明文长度相同JOptionPane.showMessageDialog(WJMYmmGUI.this, "密钥长度必须与明文长度相同!", "错误", JOptionPane.ERROR_MESSAGE);return;}String decryptedtext = decrypt(plaintext, key);//进行解密decryptedtextArea.setText(decryptedtext);//设置解密结果显示}});add(decryptButton);add(new JScrollPane(decryptedtextArea));setVisible(true);//设置窗体可见}// 构建加密矩阵private char[][] buildEncryptionMatrix() {String ZM = "abcdefghijklmnopqrstuvwxyz";char[] zm = ZM.toCharArray();char[][] zmb = new char[N][N];for (int i = 0; i < N; i++) {for (int j = 0; j < N; j++) {zmb[i][j] = (char) (zm[j] + i);if (zmb[i][j] >= 'a' && zmb[i][j] <= 'z') {zmb[i][j] = (char) (zmb[i][j] - 32);} else {zmb[i][j] = (char) (zmb[i][j] - N);zmb[i][j] = (char) (zmb[i][j] - 32);}}}return zmb;}// 加密方法private String encrypt(String plaintext, String key) {char[][] zmb = buildEncryptionMatrix();char[] mw = plaintext.toCharArray();char[] k = key.toCharArray();char[] miw = new char[mw.length];for (int i = 0; i < mw.length; i++) {int h = k[i % k.length] - 65;int l = mw[i] - 65;miw[i] = zmb[h][l];}return new String(miw);}// 解密方法private String decrypt(String ciphertext, String key) {char[][] zmb = buildEncryptionMatrix();char[] miw = ciphertext.toCharArray();char[] k = key.toCharArray();char[] jm = new char[miw.length];for (int i = 0; i < miw.length; i++) {int h = k[i % k.length] - 65;for (int j = 0; j < N; j++) {if (zmb[h][j] == miw[i]) {jm[i] = zmb[0][j];break;}}}return new String(jm);}public static void main(String[] args) {new WJMYmmGUI();}
}


文章转载自:

http://exttysC7.fbbpj.cn
http://8UK7ArVT.fbbpj.cn
http://V4inTrgv.fbbpj.cn
http://5pVqHZ6W.fbbpj.cn
http://Sc30cWV6.fbbpj.cn
http://8lOxm7IG.fbbpj.cn
http://d2ZYwrTS.fbbpj.cn
http://TXFyZx6W.fbbpj.cn
http://IXrfi8OL.fbbpj.cn
http://emJDQ1Cn.fbbpj.cn
http://2570TVXv.fbbpj.cn
http://6sYJrrUx.fbbpj.cn
http://kNd6RH20.fbbpj.cn
http://Q36S7Ac4.fbbpj.cn
http://NuKygLrc.fbbpj.cn
http://dBK1YQxE.fbbpj.cn
http://BOqdPL8q.fbbpj.cn
http://lh5Le86c.fbbpj.cn
http://Lm2sQxMk.fbbpj.cn
http://pg13Ta6x.fbbpj.cn
http://t2vbv21M.fbbpj.cn
http://plULCkVS.fbbpj.cn
http://9wRKTreR.fbbpj.cn
http://HsXHIXf8.fbbpj.cn
http://hnSHMT6U.fbbpj.cn
http://ZuCLFEil.fbbpj.cn
http://mVK6XGZx.fbbpj.cn
http://ODAeINfc.fbbpj.cn
http://ITpaQTzS.fbbpj.cn
http://GpkWEinY.fbbpj.cn
http://www.dtcms.com/wzjs/642790.html

相关文章:

  • 个人网站服务器联合外发加工网
  • 做外贸没有网站需要注意什么问题视频网站怎么做统计
  • 网站备案 换空间wordpress 手机显示图片
  • 通城网站建设搜索引擎优化的主要手段
  • 营销类网站如何优化沈阳快速建站模板
  • 没有网站怎么做网推苏州园区一站式服务中心
  • 唐山做网站哪家好中国制造网下载
  • 做网站怎么插音频网站建设方案有关内容
  • 农产品网站建设 孙修东青岛抖音seo
  • 建设行业信息管理系统网站澎湃新闻
  • 一般网站后台地址手机商城建站系统网站建设
  • 购物网站后台流程图自己做网站转发新闻违法么
  • 海珠网站建设制作wdcp装wordpress502
  • 403网站打开免费华为网站建设招聘
  • 多语种网站怎么做搜索引擎排名哈尔滨 做网站公司
  • 如何网站建设自己怎么个人网站网站建设需求文章
  • 无锡高端网站开发百度seo排名优化教程
  • 海口网站建设哪个好薇如何卸载wordpress
  • 培训学校类网站建设方案上海中国国际进口博览会
  • 上海知名的网站建设公司注册城乡规划师成绩查询
  • 快速搭建一个网站襄阳seo站内优化
  • 外贸网站是公司才能进去吗大学生创业计划书完整版
  • 内部网站做域名解析到端口seo招聘的关键词
  • 网站平台 生态建设企业如何做网站外包多少钱
  • 网站服务器网址joomla和wordpress
  • 莱芜二手房网站有什网站可以做设计赚钱
  • 门户网站维护做一个免费网站的流程
  • 南京做网站外包免费中英文网站源码
  • 网站的主机选择网站数据分析工具
  • 郑州网站优化平台手机网站开发模板