信息加密
使用MD5进行文件加密
public static void main(String [] args){
Scanner sc = new Scanner(System.in);
//从控制台进行输入需要加密的信息
String a = sc.next();
try{
//加密类型md5
MessageDigest b = MessageDigest.getInstance("md5");
//将需要进行加密的信息转为byte数组
byte[] a1 = a.getBytes();
//使用md5将转为a1数组的字符进行加密
byte[] c = b.digest(a1);
//需要一个16位的加密之后的密码
char[] h = {'0','1','2','3','4','5','6','7','8','9','A','b','c','d','e','f'};
StringBuffer sb = new String Buffer();
//将加密后的数组取出并转为String类型
for(byte b1: c ){
//加密之后为16进制数,在低位取出。高位向右移4位得到高位
int y = (b1>>4)&15;
//将得到的4位高位用char数组里面的字符进行替换(两位数组里面的字符对应一位得到的高位(8位))
char g = h[y];
//将替换后的信息放入StringBuffer
sb.append(g);
//低位直接取出
int y1 = b1&15;
//将得到的4位高位用char数组里面的字符进行替换(两位数组里面的字符对应一位得到的高位(8位))
char g1 = h[y1];
//将替换后的信息放入StringBuffer
sb.append(g1);
}
//打印StringBuffer
System.out. println(sb);
}catch(Exception e){
e.printStackTrace();
}
}