�� p a c k a g e m e . x h h . a l i p a y . u t i l ;
i m p o r t j a v a . i o . U n s u p p o r t e d E n c o d i n g E x c e p t i o n ;
i m p o r t j a v a . s e c u r i t y . M e s s a g e D i g e s t ;
i m p o r t j a v a . s e c u r i t y . N o S u c h A l g o r i t h m E x c e p t i o n ;
i m p o r t m e . x h h . a l i p a y . c o n f i g . A l i p a y C o n f i g ;
/ * *
* R����e/N�[� M D 5R�[�Yth8_�e�N��N
� ��O�e9
* rHg,� 3 . 0
* O�e9e�g� 2 0 1 0 - 0 6 - 1 8
* ��f�
* N�NN�xS�f/N:N�e�O�UFb7mK�Հc�O�v�h7O�N�x�UFb7S�N�h9cn��]�Qz�v�� ���c qgb�g/e�hcQ� ,^v�^N [���Ou(��N�x0
* ��N�xN�O�[fN`T�xzve/N�[�c�S�Ou(�S�f/c�O�N N*
* * /
p u b l i c c l a s s M d 5 E n c r y p t {
/ * *
* U s e d b u i l d i n g o u t p u t a s H e x
* /
p r i v a t e s t a t i c f i n a l c h a r [ ] D I G I T S = { ' 0 ' , ' 1 ' , ' 2 ' , ' 3 ' , ' 4 ' , ' 5 ' , ' 6 ' ,
' 7 ' , ' 8 ' , ' 9 ' , ' a ' , ' b ' , ' c ' , ' d ' , ' e ' , ' f ' } ;
/ * *
* [�[W{&N2�ۈL M D 5R�[�
*
* @ p a r a m t e x t
* fe�
*
* @ r e t u r n [�e�
* /
p u b l i c s t a t i c S t r i n g m d 5 ( S t r i n g t e x t ) {
M e s s a g e D i g e s t m s g D i g e s t = n u l l ;
t r y {
m s g D i g e s t = M e s s a g e D i g e s t . g e t I n s t a n c e ( " M D 5 " ) ;
} c a t c h ( N o S u c h A l g o r i t h m E x c e p t i o n e ) {
t h r o w n e w I l l e g a l S t a t e E x c e p t i o n (
" S y s t e m d o e s n ' t s u p p o r t M D 5 a l g o r i t h m . " ) ;
}
t r y {
m s g D i g e s t . u p d a t e ( t e x t . g e t B y t e s ( A l i p a y C o n f i g . C h a r S e t ) ) ; / /l�ae9c�S�f/c qgc[�x_b_R�[�
} c a t c h ( U n s u p p o r t e d E n c o d i n g E x c e p t i o n e ) {
t h r o w n e w I l l e g a l S t a t e E x c e p t i o n (
" S y s t e m d o e s n ' t s u p p o r t y o u r E n c o d i n g E x c e p t i o n . " ) ;
}
b y t e [ ] b y t e s = m s g D i g e s t . d i g e s t ( ) ;
S t r i n g m d 5 S t r = n e w S t r i n g ( e n c o d e H e x ( b y t e s ) ) ;
r e t u r n m d 5 S t r ;
}
p u b l i c s t a t i c c h a r [ ] e n c o d e H e x ( b y t e [ ] d a t a ) {
i n t l = d a t a . l e n g t h ;
c h a r [ ] o u t = n e w c h a r [ l <