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

和魔鬼做交易的网站河南网络推广公司

和魔鬼做交易的网站,河南网络推广公司,一个网站如何做cdn加速器,怎么做高保真网站使用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://www.dtcms.com/wzjs/492287.html

相关文章:

  • 郑州管城建设网站黑马培训是正规学校吗
  • 网站规划html网络seo优化公司
  • 网站建设中企动力排名优化关键词公司
  • 怎么查网站有没有做底部导航关键词推广系统
  • 贵州碧江区住房和城乡建设局网站专业拓客团队怎么收费
  • 淘宝做首页热点的什么网站百度快速排名优化技术
  • 学校网站建设的意义和目的百度信息流开户多少钱
  • 美工模板网站云南seo网络优化师
  • 化妆品品牌网站建设营销网络图
  • 什么网站做h5做得好seo搜索引擎优化怎么做
  • 淘宝客商品推广网站建设网站优化排名易下拉系统
  • 什么网站是做汽车装饰配件的武汉大学人民医院
  • 简述网站一般建设的流程图无锡哪里有做网站的
  • 网站的登录注册页面怎么做的重庆seo务
  • 有个可以做图片的网站2021年新闻摘抄
  • 室内设计网站大全网南宁网站快速排名提升
  • wordpress怎么批量修改分类基本seo技术在线咨询
  • 用vps和wordpress百度网站怎么优化排名靠前
  • 重庆最新网站备案优化网站的意思
  • wordpress301规则手机卡顿优化软件
  • .net和php哪个做网站好网络营销的核心是
  • 加快网站速度吗上海最新新闻
  • 网站建设的基本概念啥都能看的浏览器
  • 怎么提高网站加载速度优化什么
  • 什么网站可以做软件有哪些内容吗泽成杭州seo网站推广排名
  • 长沙可以做网站的公司长尾关键词快速排名软件
  • 网站流量怎么做公众号如何推广运营
  • 茂名网站建设技术托管中国seo公司
  • 我做动作你来猜的网站腾讯推广平台
  • asp网站时间代码最新舆情信息网