java 盐加密的使用


/**
 * 该段代码记录下leancloud java 加密方法
 */
public static String leanCloudSHA512encrypt(String password,String salt) {
    String encryptText = "";
    String text = salt + password ;
    // 是否是有效字符串
    if (!StringUtil.isEmpty(text)) {
        try {
            MessageDigest messageDigest = MessageDigest.getInstance("SHA-512");
            messageDigest.update(text.getBytes());
            byte byteBuffer[] = messageDigest.digest();
            //对密文再次做512次加密
            for (int i = 0; i < 512; i++) {
                messageDigest.update(byteBuffer);
                byteBuffer = messageDigest.digest();
            }
            //对密文再次做base64加密
            String base64 = Base64Encrypt.getBASE64_byte(byteBuffer);
            //过滤掉密文中的回车和换行符
            base64 = base64.replaceAll("(\r\n|\r|\n|\n\r)", "");
            encryptText = base64;
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
    }
    return encryptText;
}

public static String getBASE64_byte(byte[] s) {
   if (s == null)
      return null;
   return (new sun.misc.BASE64Encoder()).encode(s);
}

你可能感兴趣的:(java 盐加密的使用)