Vigenere密码算法-维吉尼亚-java程序--eclipse-编译
更新时间:2023-11-24 06:11:01 阅读量: 教育文库 文档下载
Vigenere密码算法java程序实现
程序分为四个类
Vigenere ....................... 主运行类 Menu ....................... 菜单类
Regex ....................... 输入格式检验类 Operate ....................... 执行操作算法类
一.Vigenere ....................... 主运行类:
public class Vigenere {
public static void main(String [] args){ new Vigenere().start(); }
private void start() { Menu menu = new Menu(); menu.menu(); } }
二.Menu ....................... 菜单类:
import java.util.Scanner; public class Menu { public void menu(){
System.out.println(\);
System.out.println(\。加 密 操 作 ********\); System.out.println(\);
System.out.println(\。解 密 操 作 ********\); System.out.println(\);
System.out.println(\。退 出 程 序 ********\); System.out.println(\); while(true){
Operate o = new Operate();
System.out.println(\请输入需要执行的操作代码,1,2或3\);
Scanner sc = new Scanner(System.in); String str = sc.nextLine();
int key = Integer.parseInt(str); switch(key){
case 1:o.jiaMi();break; case 2:o.jieMi();break; case 3:System.exit(0);
default:System.out.println(\请正确输入操作代码1,2或3:\);break;}}}}
三.Regex ....................... 输入格式检验类:
import java.util.Scanner; public class Regex {
public static String expresslyRegex ( ) { Scanner sc = new Scanner(System.in); String regex = \; String inputStr; while(true){
//对输入明文进行检验
System.out.println(\请输入需要加密的明文,1-500位小写字母\); inputStr = sc.nextLine(); if(inputStr.matches(regex)){ return inputStr; }
System.out.println(\输入内容有误,请从新输入需要加密的明文,1-500位小写字母!\); } }
public static String keyRegex ( ) { Scanner sc = new Scanner(System.in); String regex = \; String inputStr; while(true){
//对输入密钥进行检验
System.out.println(\请输入密钥,1-500位小写字母\); inputStr = sc.nextLine(); if(inputStr.matches(regex)){ return inputStr; }
System.out.println(\输入内容有误,请从新输入密钥,1-500位小写}}
//对输入明文进行检验
字母!\);
public static String ciphertextRegex ( ) { Scanner sc = new Scanner(System.in); String regex = \; String inputStr;
while(true){
System.out.println(\请输入需要解密的密文,1-500位小写字母\); inputStr = sc.nextLine(); if(inputStr.matches(regex)){ return inputStr; }
System.out.println(\输入内容有误,请从新输入需要解密的密文,1-500位小写字母!\);}}}
四.Operate ....................... 执行操作算法类:
import java.util.Vector; public class Operate {
public void jiaMi(){ //加密方法 String v = \;
Vector
//定义明文数组
vexpressly.add(Regex.expresslyRegex());
//检验格式后加入明文数组
Vector
vkey.add(Regex.keyRegex());
//检验格式后加入密钥数组
System.out.println(\明文为 \+vexpressly); System.out.println(\密钥为 \+vkey); for(String a:vexpressly){
//将输入的明文与密文从数组类型转换成String类型 for(String b:vkey){
for(int i=0;i
int j = i%(b.length());
char s = (char) (((int) a.charAt(i) + b.charAt(j)-194)&+97);//对应的密文 v = v+s;
//把生成的密文字符逐个加到v上
} } }
System.out.println (\生成的密文为:\+v); } public void jieMi(){
//解密方法
String v = \;
Vector
//定义密文数组
ciphertext.add(Regex.ciphertextRegex()); Vector
//定义密钥数组
vkey.add(Regex.keyRegex());
System.out.println(\密文为 \+ciphertext); System.out.println(\密钥为 \+vkey);
for(String a:ciphertext){ for(String b:vkey){
for(int i=0;i
char s = (char) ((((int) a.charAt(i)+26) - b.charAt(j))&+97);
//解密的过程 v = v+s; }}}
System.out.println (\对应的明文为:\+v);}}
程序结果截图:
正在阅读:
Vigenere密码算法-维吉尼亚-java程序--eclipse-编译11-24
第三种研究范式——混合研究及其案例分析08-11
精品解析:2017-2018学年陕西省西安市高新一中创新班七年级(下)第一次月考数学试卷(原卷版)11-22
挖青菜作文450字06-14
血液透析试题及答案04-13
外科室规范汇总03-26
有理数期末复习题08-16
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 维吉
- 尼亚
- 算法
- 编译
- Vigenere
- 密码
- eclipse
- 程序
- java
- STEP7-快速入门
- 2017-2018学年人教版化学选修5高二暑假作业 第4章生命中的基础有机化学物质第3节蛋白质和核酸第2课时
- 党工委--科技局解放思想经验材料
- 窦桂梅教学实录 - 《三打白骨精》
- 2010年西南大学普通生物学考研试题
- 首经贸考研复试班-首都经贸大学政治经济学考研复试经验分享
- 2018秋季学期最新川教版初中历史九年级上册精品习题:第19课 美国南北战争练习题
- 学年论文选题
- 江苏盐城中学2012届高三第一学期期中考试
- 2017春六年级数学下册2.2圆锥圆锥的认识教案5
- 电动车租赁公司创业计划书
- 概率论与数理统计(范大茵) - 图文
- 滨江国际二期1#.2#.4#.5#及地下车库检验批划分方案
- 电场、电路与磁场综合
- 2017年基本公共卫生服务站任务表2
- 最新牛津译林版2018-2019学年英语八年级上册Unit3单元测试卷及答案-精编试题
- 2019苏教版六年级数学练习按比例分配语文
- 校园新闻稿写作规范
- 7. zy-gclx习题解-第7章
- 我眼中的青春七年级作文600字