JAVA编写一个加密及解密程序
程序员文章站
2022-07-13 13:38:46
...
加密解密程序
思想加密,先得到明文和**,判断明文的每个字符是小写字母还是大写字母,在根据**进行取模移位。解密的思想跟加密类似。
加密:
package com.company;
import java.util.Scanner;
public class Encrypt {
public static void Encrypt() {
System.out.println("请输入明文:");
Scanner scanner1 = new Scanner(System.in);
String str1 = scanner1.nextLine();
System.out.println("请输入**:");
Scanner scanner = new Scanner(System.in);
int key1 = scanner.nextInt();
String string="";
for(int i=0;i<str1.length();i++) {
char c=str1.charAt(i);
if(c>='a'&&c<='z')
{
c+=key1%26;
if(c<'a') c+=26;
if(c>'z') c-=26;
}else if(c>='A'&&c<='Z')
{
c+=key1%26;
if(c<'A') c+=26;
if(c>'Z') c-=26;
}
string =string+c;
}
System.out.println("加密后为:"+string);
}
}
解密:
package com.company;
import java.util.Scanner;
public class Decrypt {
public void Decrypt() {
System.out.println("请输入密文:");
Scanner scanner1 = new Scanner(System.in);
Scanner scanner = new Scanner(System.in);
String str2 = scanner1.nextLine();
System.out.println("请输入**:");
int key2 = scanner.nextInt();
key2 = -key2;
String string="";
for(int i=0;i<str2.length();i++) {
char c=str2.charAt(i);
if(c>='a'&&c<='z')
{
c+=key2%26;
if(c<'a') c+=26;
if(c>'z') c-=26;
}else if(c>='A'&&c<='Z')
{
c+=key2%26;
if(c<'A') c+=26;
if(c>'Z') c-=26;
}
string =string+c;
}
System.out.println("解密后为:"+string);
}
}
实现:
package com.company;
import java.util.Scanner;
public class Application {
public static void main(String[] args) {
int c;
do {
System.out.println("选择功能:1:加密功能 2:解密功能 3:退出");
Scanner scanner = new Scanner(System.in);
c = scanner.nextInt();
switch (c) {
case 1: {
Encrypt encrypt = new Encrypt();
encrypt.Encrypt();
break;
}
case 2: {
Decrypt decrypt = new Decrypt();
decrypt.Decrypt();
}
}
}
while (c !=3);
if(c == 3) System.out.println("欢迎再次使用");
}
}
运行结果:
上一篇: 生日排序(洛谷P1104题题解,Java语言描述)
下一篇: Ubuntu下ffmpeg的安装与配置
推荐阅读
-
java基础------环境变量的配置及编写第一个程序
-
Java入门(一)——编写一个简单的Java程序
-
pyqt5+vscode开发环境配置及编写一个实例程序
-
java EJB 加密与解密原理的一个例子
-
Java实现一个简单的加密解密方法
-
[每日一题]11:编写一个加密解密程序实现凯撒密码
-
C语言 编写加密程序,将用户输入的一个英文句子加密为加密字符串,然后输出加密字符串。
-
Java经典编程习题100例:第18例:编写程序,将一个数组中的元素倒排过来。例如原数组为1,2,3,4,5;则倒排后数组中的值
-
编写第一个Java程序总结03
-
java学习之路-练习题:编写一个计算速度的程序,距离时间常量。