SHA-256加密算法封装[我的代码库]

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

public class SHA256Test { 
    public static final String ALGORITHM = "SHA-256";

    public static String SHA256Encrypt(String orignal) { 
        MessageDigest md = null; 
        try { 
            md = MessageDigest.getInstance(ALGORITHM); 
        } catch (NoSuchAlgorithmException e) { 
            e.printStackTrace(); 
        } 
        if (null != md) { 
            byte[] origBytes = orignal.getBytes(); 
            md.update(origBytes); 
            byte[] digestRes = md.digest(); 
            String digestStr = getDigestStr(digestRes); 
            return digestStr; 
        }

        return null; 
    }

    private static String getDigestStr(byte[] origBytes) { 
        String tempStr = null; 
        StringBuilder stb = new StringBuilder(); 
        for (int i = 0; i < origBytes.length; i++) { 
            // System.out.println("and by bit: " + (origBytes[i] & 0xff)); 
            // System.out.println("no and: " + origBytes[i]); 
            // System.out.println("---------------------------------------------"); 
            // 这里按位与是为了把字节转整时候取其正确的整数,java中一个int是4个字节 
            // 如果origBytes[i]最高位为1,则转为int时,int的前三个字节都被1填充了 
            tempStr = Integer.toHexString(origBytes[i] & 0xff); 
            if (tempStr.length() == 1) { 
                stb.append("0"); 
            } 
            stb.append(tempStr);

        } 
        return stb.toString(); 
    }

    public static void main(String[] args) { 
        System.out.println(SHA256Encrypt("AAaa11")); 
    }

}



本文转自leipei博客园博客,原文链接:http://www.cnblogs.com/leipei2352/archive/2012/07/29/2614131.html,如需转载请自行联系原作者

上一篇:11款超5000星 后台管理模板, 总有一款适合你!


下一篇:python强大之处列表推导式和生成器