a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 132|回复: 0

[专业语言] JAVA认证:javaMD5加密源码分析

[复制链接]
发表于 2012-8-4 12:44:44 | 显示全部楼层 |阅读模式
package util;; _: X# M* T) [+ G5 R, J+ I* Q3 q
    import java.security.MessageDigest;
- f- I' b* ?* s    import java.security.NoSuchAlgorithmException;
& P. ^  S+ R+ d6 B3 ~" I    public class MD5Tool {
7 E: O# Y' d! G9 m) c    /**" Q8 q1 v3 V9 Y. W; @+ w
    * 该方法将指定的字符串用MD5算法加密后返回。
, v- y7 N' V$ {: \, _    * @param s6 Y( {* X" W6 z+ d' E% q9 R
    * @return$ w9 P! ~0 j& J- n
    */
7 d# }% g& R1 ?. p' A2 `    public static String getMD5Encoding(String s) {- z% w! O4 l+ w) P
    byte[] input=s.getBytes();
: e$ @  r& q! t    String output = null;
9 ~; b, k, D# m6 B2 W( D    //  声明16进制字母
8 S! P# C' B) ]; @; z# j    char[] hexChar={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
( j/ R+ Z! P; U, ^( E% n    try{
- G, @8 m/ J& U! r) Q8 U, |. W- N    //  获得一个MD5摘要算法的对象
. b9 u# g! i3 R' Q9 r! L1 x    MessageDigest md=MessageDigest.getInstance("MD5");
2 m3 R9 d4 k2 e    md.update(input);' w9 p' X( R* ^& |! U! ?4 S
    /*
. q6 O) r9 j; H. H. }    MD5算法的结果是128位一个整数,在这里javaAPI已经把结果转换成字节数组了
, P, u- S0 M6 n+ W+ \    */
0 j0 [+ a4 s' b$ z    byte[] tmp = md.digest();//获得MD5的摘要结果
2 a, e; x5 O5 {; v    char[] str = new char[32];7 X& C5 s8 `9 h8 T7 O* z
    byte b=0;: E6 e3 r. \# ~1 j: E! U
    for(int i=0;i>>4 & 0xf];//取每一个字节的低四位换成16进制字母$ o& E8 a. N* g' w5 R
    str[2*i+1] = hexChar[b & 0xf];//取每一个字节的高四位换成16进制字母
% ~$ L% {2 Y& C; h8 d9 ?0 |* x2 R& r    }' ^; B" F% P; Y0 I# _7 ~& G
    output = new String(str);
8 V& P5 v2 {7 i5 `    }catch(NoSuchAlgorithmException e){
' L* Z) V' l* F    e.printStackTrace();- w0 r4 i) o6 P) s6 Z" C2 ]1 i2 Z' F, s
    }
2 n+ P2 Q7 f! f: N0 m0 o9 Q7 G4 o+ Z    return output;' N$ l9 i9 D/ c" a8 v# v' e
    }: ^, [4 t7 S3 {1 M9 ~  @2 M
    }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-26 11:27 , Processed in 0.217399 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表