AES加密说明
如密码123456 账号当前的tokenId为: Y0IFV96ntTMVlfElMC6TGUAE0HQ5ftc2G4GCeZTFM4JhmcmnxXRkiehpFYog+mK2jqGiGjvlwrWU/P1232mMog==
-
对tokenId取MD5:3042B5D38733951FDC3A4F23493E931F(大写)
-
对tokdnId的MD5,截取第9至25位:8733951FDC3A4F23,即substring(8, 24)
-
把 8733951FDC3A4F23 当作AES加密的向量以及加密的KEY,填充模式为”AES/CBC/PKCS5Padding”,对123456进行加密
-
把最后的加密结果进行base64编码
最后结果为: AY7/ot5BG7UrozYYWiDOYA==
注: Java MD5的实现,使用的是自带的MessageDigest类,java对转义字符处理时,是把转义字符当普通字符处理。如\r,\n
public static String md5(String obj) {
return BytesUtils.bytesToHex(md5(obj.getBytes()));
}
public static byte[] md5(byte[] plainBytes) {
try {
return MessageDigest.getInstance("MD5").digest(plainBytes);
} catch (NoSuchAlgorithmException ex) {
return null;
}
}