当前位置:编程学习 > JAVA >>

java安全5

Java代码 
package com.ngsn.security; 
 
 
import java.security.MessageDigest; 
 
/**
 * 数字摘要应用
 * MD5 或 SHA 算法 加密
 * @author John.Yao
 */ 
public class SecretKeyTest4 { 
     
    public static void main(String[] args) throws Exception{ 
         
        String str = md5("abcd"); 
        System.out.println("str--->"+str.toUpperCase()); 
    } 
     
    public static String md5(String str) throws Exception{ 
        String md5=null; 
        // MessageDigest 类为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法 
        MessageDigest md = MessageDigest.getInstance("MD5"); 
        md.update(str.getBytes()); 
        byte[] result = md.digest(); 
        System.out.println("result length--->"+result.length); 
        md5 = toHex(result); 
        System.out.println("md5--->"+md5); 
        return md5; 
    } 
    /**
     * 将二进制的字节数组转换成16进制的字符串
     * @param buf
     * @return
     */ 
    public static String toHex(byte[] buf){ 
        StringBuilder sb = new StringBuilder(); 
         
        for(int i=0;i<buf.length;i++){ 
            //高位 
            int high = ((buf[i]>>4) & 0x0f); 
            //低位 
            int lo = buf[i] & 0x0f; 
            sb.append(high > 9 ? (char)((high-10)+'a'):(char)(high+'0')); 
            sb.append(lo > 9 ? (char)((lo-10)+'a'):(char)(lo+'0')); 
        } 
        return sb.toString(); 
    } 

作者“mutourenoo”
 

补充:综合编程 , 安全编程 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,