常用的加密解密算法
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;/*** Java常用的對密碼加密的方法 對摘要信息進行加密編碼*/
public class PasswordUtil {private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d","e", "f" };/*** 將字節數組轉換為16進制的字符串* * @param byteArray* 字節數組* @return 16進制的字符串*/private static String byteArrayToHexString(byte[] byteArray) {StringBuffer sb = new StringBuffer();for (byte byt : byteArray) {sb.append(byteToHexString(byt));}return sb.toString();}/*** 將字節轉換為16進制字符串* * @param byt* 字節* @return 16進制字符串*/private static String byteToHexString(byte byt) {int n = byt;if (n < 0)n = 256 + n;return hexDigits[n / 16] + hexDigits[n % 16];}/*** 將摘要信息轉換為相應的編碼* * @param code* 編碼類型* @param message* 摘要信息* @return 相應的編碼字符串*/private static String encode(String code, String message) {MessageDigest md;String encode = null;try {md = MessageDigest.getInstance(code);encode = byteArrayToHexString(md.digest(message.getBytes()));} catch (NoSuchAlgorithmException e) {e.printStackTrace();}return encode;}/*** 將摘要信息轉換成MD5編碼* * @param message* 摘要信息* @return MD5編碼之后的字符串*/public static String md5Encode(String message) {return encode("MD5", message);}/*** 將摘要信息轉換成SHA編碼* * @param message* 摘要信息* @return SHA編碼之后的字符串*/public static String shaEncode(String message) {return encode("SHA", message);}/*** 將摘要信息轉換成SHA-256編碼* * @param message* 摘要信息* @return SHA-256編碼之后的字符串*/public static String sha256Encode(String message) {return encode("SHA-256", message);}/*** 將摘要信息轉換成SHA-512編碼* * @param message* 摘要信息* @return SHA-512編碼之后的字符串*/public static String sha512Encode(String message) {return encode("SHA-512", message);}@SuppressWarnings("unused")private String validate(String code, String tag) {if (code.equals(tag))return "通過驗證";return "未通過驗證";}
}
?
轉載于:https://www.cnblogs.com/difme/p/5630347.html
總結
- 上一篇: 第一次ActiveX Fuzzing测试
- 下一篇: bootstrap在iframe框架中实