1. 程式人生 > >SHA-256 和SHA-512 加密演算法

SHA-256 和SHA-512 加密演算法

本文章轉載自 : 傳送門,盜碼可恥,我們是程式碼的搬運工,只搬運,不盜碼

package cc.restyle.util;


import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * SHA-512 加密
 *
 */
public class SHA512 {

    /** 傳入文字內容,返回SHA-256 串*/
    public static String encry256(final String strText){
           return  SHA(strText,"SHA-256"
); } /** 傳入文字內容,返回SHA-512 串*/ public static String encry512(final String strText){ return SHA(strText,"SHA-512"); } /** 字串 SHA加密*/ private static String SHA(final String strText,final String strType){ // 返回值 String strResult=null; // 是否是有效的字串 if
(strText != null && strText.length()>0){ // 加密開始,建立加密物件,並傳入加密型別 try { MessageDigest messageDigest = MessageDigest.getInstance(strType); // 傳入加密的字串 messageDigest.update(strText.getBytes()); // 得到bytes型別結果 byte
[] byteBuffer = messageDigest.digest(); //將byte轉為string StringBuffer strHexString = new StringBuffer(); for (int i =0;i<byteBuffer.length;i++){ String hex = Integer.toHexString(0xff & byteBuffer[i]); if (hex.length()==1){ strHexString.append('0'); } strHexString.append(hex); } // 得到返回的結果 strResult = strHexString.toString(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } } return strResult; } }