#####base64:
package com.example.wuji.jiami;
/**
* Base64不是加密算法 是可读性算法
* 有64个字符组成
* A-Z 26 a-z 26 / = 2个 一共 64
*
* 还有Base58 没有I i 0 o / =
*/
public class Base64 {
public static void main(String[] args) {
}
}
字符阿斯玛值:
package com.example.wuji.jiami;
public class ByteBit {
public static void main(String[] args) {
String a = "3";
//cccc(a);
String b = "a";
//cccc(b);
//一个汉字在UTF-8编码格式下占三个字节 故数组长度是3 打印三个byte码值
String c = "金";
cccc(c);
}
public static void cccc(String a) {
byte[] arr = a.getBytes();
for (byte b : arr) {
System.out.println("对应的码表值为:" + b);
//数字转换为二进制
String b_bit = Integer.toBinaryString(b);
System.out.println("对应的位:" + b_bit);
}
}
}
#####消息摘要:
package com.example.wuji.jiami;
import com.sun.org.apache.xml.internal.security.utils.Base64;
import java.security.MessageDigest;
/**
* 消息摘要
*/
public class DigestDemo {
public static void main(String[] args) throws Exception {
String string="aa";
String key="MD5";
MessageDigest ss = MessageDigest.getInstance(key);
byte[] sss = ss.digest(string.getBytes());
StringBuilder stringBuilder=new StringBuilder();
for (byte b : sss) {
//吧秘文转化为十六进制
String bb = Integer.toHexString(b & 0xff);
//如果是密文长度是1的话 高位补零
if(bb.length()==1){
bb="0"+bb;
}
stringBuilder.append(bb);
}
System.out.println(Base64.encode(sss));
System.out.println(stringBuilder.toString());
}
}