java提供密码加密的实现
生活随笔
收集整理的這篇文章主要介紹了
java提供密码加密的实现
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Md5加密
/*** 提供密碼加密的類*/ public class Md5Util {public static String encode(String msg){try {MessageDigest messageDigest=MessageDigest.getInstance("md5");return Base64.getEncoder().encodeToString(messageDigest.digest(msg.getBytes())) ;}catch (Exception e){e.printStackTrace();return null;}}public static void main(String[] args) {System.out.println(encode("123456"));System.out.println(encode("123456"));}}加密用戶ID的工具類
import org.apache.commons.lang3.StringUtils;import java.util.Base64;/*** 加密用戶ID的類*/ public class UserIDBase64 {/*** userID解密* @param encodedUserID 加密后的用戶id* @return*/public static Integer decoderUserID(String encodedUserID) {if (StringUtils.isBlank(encodedUserID)) {return null;}try {String reversedString = new StringBuffer(encodedUserID).reverse().toString();String base64String = reversedString.replaceAll("#", "=");int userIDPos = base64String.indexOf("==") + 6;String realBase64UserID = base64String.substring(userIDPos);String base64Encoded = new String(Base64.getDecoder().decode(realBase64UserID.getBytes()));return Integer.parseInt(base64Encoded);} catch (Exception e) {return null;}}/*** 用戶id加密* @param userID 用戶id* @return*/public static String encoderUserID(Integer userID){String base64UserIDEncoded = Base64.getEncoder().encodeToString((userID + "").getBytes());String currentStringBase64Encoded = Base64.getEncoder().encodeToString((System.currentTimeMillis() + "").getBytes());String keyString = currentStringBase64Encoded+ currentStringBase64Encoded.substring(4, 8) + base64UserIDEncoded;byte[] codeBytes = keyString.getBytes();byte[] ordedBytes = new byte[codeBytes.length];for(int i=0; i<codeBytes.length; i++){ordedBytes[i] = codeBytes[codeBytes.length-i-1];}return new String(ordedBytes).replaceAll("=", "#");}public static void main(String[] args) {System.out.println(encoderUserID(20));System.out.println(decoderUserID("#AjMzgjM##QN1AjN4gTOzgjM3UTM"));} }總結(jié)
以上是生活随笔為你收集整理的java提供密码加密的实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: loader调用过程
- 下一篇: StringUtil中常用的方法