文档库 最新最全的文档下载
当前位置:文档库 › 替代密码

替代密码

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class tidai {
public static void main(String args[]) throws IOException{
System.out.println("请您输入需要的服务,1为加密,2为解密");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int Choice=Integer.parseInt(br.readLine());

if(Choice==1)
{
System.out.println("您进入了加密程序");
System.out.print("请输入您需要加密的明文:");
String MingWen=br.readLine();
System.out.print("请输入加密秘钥:");
String key=br.readLine();
String mi=jiami(MingWen,key);
System.out.print("加密后密码:"+mi);
Choice=2;
}

if(Choice==2)
{
System.out.println("您进入了解密程序");
System.out.print("请输入您需要解密的密文:");
String MiWen=br.readLine();
System.out.print("请输入解密秘钥:");
String key=br.readLine();
String mi=jiemi(MiWen,key);
System.out.print("明文是:"+mi);
System.exit(0);
}
else
{
System.out.println("输入错误,请重新输入,1为加密,2为解密:\n");
System.exit(0);
}


}
static String jiami(String mingwen,String Key)
{ int k=Integer.parseInt(Key);
char[] mima=new char[300];
for(int i=0;i{
int n=(int)mingwen.charAt(i);
if(mingwen.charAt(i)==' ')/*如果字符串中出现空格返回空格*/
{
mima[i] =' ';
}
else if(n>96&&n<123)/*对小写进行加密*/
{
n=(n-97+k)%26;
if(n<0)
n=26+n;
char l=(char)(n+97);
mima[i]=l;
}
else if(n>64&&n<91)/*对大写进行加密*/
{
n=(n-65+k)%26;
if(n<0)
n=26+n;
char l=(char)(n+97);
mima[i]=l;
}
}
String ok=new String(mima);
return ok;
}
static String jiemi(String miwen,String Key) {
char[] ok=new char[30];
int k=Integer.parseInt(Key);
for(int i=0;i{
int n=(int)miwen.charAt(i);/*将字符转换成ASCII*/
if(miwen.charAt(i)==' ')/*如果是空格,返回的也是空格*/
{
ok[i]=' ';
}
else if(n>96&&n<123)/*对小写进行解密*/
{
n=(n-97-k)%26;
if(n<0)
n=26+n;
char l=(char)(n+97);
ok[i]=l;
}
else if(n>64&&n<91)/*对大写进行解密*/
{
n=(n-65-k)%26;
if(n<0)
n=26+n;
char l=(char)(n+97);
ok[i]=l;
}
}
String OK=new String(ok);
return OK;

}

}

相关文档