|
- import java.util.*;! Q) n- Q$ k. p- V1 m
- import java.security.*;
* D" X- V& k ]- d6 h) s: V9 z - ( u4 U6 X! F2 D! Z! i! v. I
- public class Main {
4 t$ r; I5 P; J6 y: D# D7 m. s - public static void main(String[] args) {( f: M( u4 O* `% U/ A
- System.out.println(MD5("MD5加密");
0 _; Z+ G0 E! J - }1 I$ T6 Q8 M7 Z5 ^4 t2 A7 q6 i
- public static String MD5(String str) {
7 K8 u5 O. @, Q$ s3 _ T. S4 D - StringBuilder sb = new StringBuilder();
/ ^$ y* M& X8 Y - try {
2 ]# n8 g2 F5 Y1 e/ ^$ E - MessageDigest md = MessageDigest.getInstance("MD5");
4 `8 U3 I6 s- }) A# J# D - md.update(str.getBytes());# J% Y- Z; T/ r
- byte[] b = md.digest();
3 d8 t& R( {( w2 p" {4 H- h - int i;
$ f! w% p0 T: q7 P1 V4 Z - for(int offset = 0;offset < b.length;offset++) {
! x/ i5 j+ a6 Q$ N7 ^$ C - i = b[offset];
% L) Z% T# g2 S( K- S - if(i < 0){* U3 x) O/ m2 j$ Q# m, }: B# o
- i += 256;, l* V5 {- N8 k. l8 x' s, ^4 N
- }
9 I6 d0 t( C/ V" U) z - if(i < 16){
4 \% y$ C6 v% {, ~% t* h - sb.append("0");. J$ A# h0 ?2 y6 P- y e( r. Y7 ]
- }1 p! N1 S+ W' X$ D2 [
- sb.append(Integer.toHexString(i));% h, V& i' ?) }( d8 o/ \
- }
C0 i* X) z# G+ { - } catch (NoSuchAlgorithmException e) {! u4 f; t+ Y' |( H! o
- e.printStackTrace();: T& c6 d7 Q9 @; I2 u, }% u- y# \
- }% K- P3 x- w) F7 x; L" Q+ w
- return sb.toString();
$ @) l+ G6 g( C6 K9 a+ ? - }
! m6 L7 V1 k% O: s$ X0 V - }
( d1 V1 h" m6 I1 x2 }+ k1 l3 h
复制代码 |
|