在進行用戶認證時,往往需要使用到用戶名和密碼。為了保證用戶信息的安全性,這些信息在傳輸和存儲過程中都需要進行加密處理。Java中也提供了多種加密方式,下面我們來看一下常用的用戶名和密碼加密方式。
一、SHA-256加密
public static String SHA256(String str) { MessageDigest messageDigest; String encodestr = ""; try { messageDigest = MessageDigest.getInstance("SHA-256"); messageDigest.update(str.getBytes("UTF-8")); encodestr = new BigInteger(1, messageDigest.digest()).toString(16); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return encodestr; }
二、MD5加密
public static String MD5(String str) { MessageDigest messageDigest; String encodestr = ""; try { messageDigest = MessageDigest.getInstance("MD5"); messageDigest.update(str.getBytes("UTF-8")); encodestr = new BigInteger(1, messageDigest.digest()).toString(16); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return encodestr; }
三、BCrypt加密
String password = "123456"; String hash = BCrypt.hashpw(password, BCrypt.gensalt());
除了以上幾種加密方式,還有Base64、AES等加密方式可供選擇。在使用時,我們需要根據實際業務需求和安全需求,選擇合適的加密方式進行用戶信息的加密。