开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
guiGLM.java 2.79 KB
一键复制 编辑 原始数据 按行查看 历史
Friende 提交于 2019年05月12日 14:38 +08:00 . 小改动
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class guiGLM {
private JButton cipherBtn;
private JButton resetBtn;
private JButton exitBtn;
private JPanel wholePanel;
private JPanel botmPanl;
private JPanel botmR;
private JPanel botmL;
private JPanel botmM;
private JPanel topPanl;
private JTextField key;
private JTextField plainText;
private JTextField cipherText;
private JPanel midPanl;
private JPanel midM;
private JPanel midL;
private JLabel keyL;
private JLabel cipherL;
private JLabel plainL;
private JPanel midR;
public guiGLM() {
cipherBtn.addActionListener(new ActionListener() { //cipherBtn
@Override
public void actionPerformed(ActionEvent e) {
String k = key.getText();
String plainString = plainText.getText();
cipherText.setText(cipher(k, plainString).toString());
}
});
exitBtn.addActionListener(new ActionListener() { //exitBtn
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
resetBtn.addActionListener(new ActionListener() { //resetBtn
@Override
public void actionPerformed(ActionEvent e) {
key.setText("");
plainText.setText("");
cipherText.setText("");
}
});
}
private StringBuilder cipher(String k, String plainString) {
if(plainString.isEmpty()) {
return new StringBuilder("");
}
else {
// 此处全部转为大写了
return Vigenere(k.toUpperCase(), plainString.toUpperCase());
}
}
private StringBuilder Vigenere(String k, String s) {
int mod_A = 26;
int delta = (int)'A'; //便于计算
int x = 0;
int j = 0;
char[] plain = s.toCharArray();
char[] kee = k.toCharArray();
int len = k.length();
StringBuilder cipher = new StringBuilder();
for (int i = 0; i < plain.length; i++) {
x = (int)plain[i];
if(x >= (int)'A' && x<= (int)'Z') { //大写字母
x = (x - delta + (int)kee[j] - delta) % mod_A + delta; // 移位
j = (j + 1) % len; // 循环用kee密钥的每一位去参与移位
}
else {continue; }
cipher.append((char)(x));
}
return cipher;
}
public static void main(String[] args) {
JFrame frame = new JFrame("guiGLM");
frame.setContentPane(new guiGLM().wholePanel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

信息安全实验(一) —— Vigenere维吉尼亚密码简单gui演示
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/Friende/Simple-VigenereCode-GUI.git
git@gitee.com:Friende/Simple-VigenereCode-GUI.git
Friende
Simple-VigenereCode-GUI
Simple-VigenereCode-GUI
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /