public static void main(String[] args) throws Exception {
String md5Str = encodeToMD532("hello word");
//32位,小写
String md532Lower = md5Str.toLowerCase();
//32位,大写
String md532Upper = md532Lower.toUpperCase();
//16位,小写
String md516Lower = md532Lower.substring(8, 24);
//16位,大写
String md516Upper = md532Lower.substring(8, 24).toUpperCase();
}
private static String encodeToMD532(String input) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] digest = md.digest(input.getBytes());
BigInteger no = new BigInteger(1, digest);
String hashtext = no.toString(16);
while (hashtext.length() < 32) {
hashtext = "0" + hashtext;
}
return hashtext;
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
}
private static String encodeSHA256(String msg) {
MessageDigest md = null;
try {
md = MessageDigest.getInstance("SHA-256");
byte[] digest = md.digest(msg.getBytes());
StringBuilder hexString = new StringBuilder();
for (byte b : digest) {
hexString.append(String.format("%02x", b));
}
return hexString.toString();
} catch (Exception e) {
// 处理算法不可用的情况
throw new RuntimeException(e);
}
}
private static String encodeBase64(String msg) {
return Base64.getEncoder().encodeToString(msg.getBytes());
}
标签:md,常用,加密,hashtext,几种,static,msg,digest,String
From: https://www.cnblogs.com/dyaqi/p/17930954.html