PackageUtilImportJava.security.MessageDigest;ImportJava.security.NoSuchAlgorithmException; Public class md5util { Private StaticThreadlocal<messagedigest> Messagedigestholder =NewThreadlocal<messagedigest> ();//The character used to convert bytes to 16 binary notation Static Final CharHexdigits[] = {' 0 ',' 1 ',' 2 ',' 3 ',' 4 ',' 5 ',' 6 ',' 7 ',' 8 ',' 9 ',' A ',' B ',' C ',' d ',' E ',' F '};Static{Try{MessageDigest message = Java.security.MessageDigest. getinstance ("MD5"); Messagedigestholder.set (message); }Catch(NoSuchAlgorithmException e) { } }/*** * * @Title: Getmd5format * @Description: Calculates MD5 and converts to 32-byte plaintext display string * @author WUJL * @param data * @return String return type */ Public StaticStringGetmd5format(String data) {Try{MessageDigest message = Messagedigestholder.get ();if(Message = =NULL) {message = Java.security.MessageDigest.getInstance ("MD5"); Messagedigestholder.set (message); } message.update (Data.getbytes ());byte[] B = message.digest (); String Digesthexstr =""; for(inti =0; I < -; i++) {digesthexstr + = Bytehex (B[i]); }returnDIGESTHEXSTR; }Catch(Exception e) {return NULL; } }/*** * * @Title: Bytehex * @Description: * @author wujl * @param
IB * @return String return type */ Private StaticStringBytehex(byteIB) {Char[] ob =New Char[2]; ob[0] = hexdigits[(ib >>>4) &0X0F]; ob[1] = Hexdigits[ib &0X0F]; String s =NewString (OB);returnS }}
MD5 Some tool methods