请写出用字母映射表的方法对字符串进行加密和解密的算法,并转化为程序上机执行,验证算法的正确性。
import java.util.HashMap;
import java.util.Map;
public class Encryption {
static Map<Character,Character> map=new HashMap<Character,Character>();
static Map<Character,Character>map1=new HashMap<Character,Character>();
Encryption(){
String a="abcdefghijklmnopqrstuvwxyz*";
String b="veknohzf*iljxdmygbrcswqupta";
for(int i=0;i<a.length();i++){
map.put(a.charAt(i),b.charAt(i));
map1.put(b.charAt(i),a.charAt(i));
}
}
public static String encrypt(String str){
String s2= str.toLowerCase();
String d = "";
for (int i = 0; i < s2.length(); i++) {
d = d + map.get(s2.charAt(i));
}
return d;
}
public static String decrypt(String str){
String d = "";
for (int i = 0; i < str.length(); i++) {
d = d + map1.get(str.charAt(i));
}
return d;
}
@SuppressWarnings("static-access")
public static void main(String[] args) {
Encryption e1=new Encryption();
String stre="abcdefghijklmnopqrstuvwxyz*";
String stre1=e1.encrypt(stre);
System.out.println("加密为:"+stre1);
System.out.println("解密为:"+e1.decrypt(stre1));
}
}