JAva塩暗号化の使用

3561 ワード


/**
 *        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
|\r|
|
\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);
}