I have a md5.java, if u want, pls mail to [email protected], I will send it to u.head message as following:/*
* @(#)MD5.java 1.8 95/04/02
*
* Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
*
* Permission to use, copy, modify, and distribute this software
* and its documentation for NON-COMMERCIAL purposes and without
* fee is hereby granted provided that this copyright notice
* appears in all copies. Please refer to the file "copyright.html"
* for further important copyright and licensing information.
*
* SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
* THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
* TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
* PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
* ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
* DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
*/import java.util.*;
import java.lang.*;/**
* The MD5 class is used to compute an MD5 message digest over a given
* buffer of bytes. It is an implementation of the RSA Data Security Inc
* MD5 algorithim as described in internet RFC 1321.
* @version 02 Apr 1995, 1.8
* @author Chuck McManis
*/
public class MD5 {
/** the actual digest bits. */
public byte digestBits[]; /** status of the digest */
public boolean digestValid; private int state[];
private long count;
private byte buffer[];
private static int transformBuffer[]; private static final int S11 = 7;
private static final int S12 = 12;
private static final int S13 = 17;
private static final int S14 = 22;
private static final int S21 = 5;
private static final int S22 = 9;
private static final int S23 = 14;
private static final int S24 = 20;
private static final int S31 = 4;
private static final int S32 = 11;
private static final int S33 = 16;
private static final int S34 = 23;
private static final int S41 = 6;
private static final int S42 = 10;
private static final int S43 = 15;
private static final int S44 = 21; /**
* Standard constructor, creates a new MD5 instance, allocates its
* buffers from the heap.
*/
public MD5() {
state = new int[4];
count = 0;
if (transformBuffer == null)
transformBuffer = new int[16];
buffer = new byte[64];
digestBits = new byte[16];
digestValid = false;
} /* **********************************************************
* The MD5 Functions. These are copied verbatim from
* the RFC to insure accuracy. The results of this
* implementation were checked against the RSADSI version.
* **********************************************************
*/
* @(#)MD5.java 1.8 95/04/02
*
* Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
*
* Permission to use, copy, modify, and distribute this software
* and its documentation for NON-COMMERCIAL purposes and without
* fee is hereby granted provided that this copyright notice
* appears in all copies. Please refer to the file "copyright.html"
* for further important copyright and licensing information.
*
* SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
* THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
* TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
* PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
* ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
* DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
*/import java.util.*;
import java.lang.*;/**
* The MD5 class is used to compute an MD5 message digest over a given
* buffer of bytes. It is an implementation of the RSA Data Security Inc
* MD5 algorithim as described in internet RFC 1321.
* @version 02 Apr 1995, 1.8
* @author Chuck McManis
*/
public class MD5 {
/** the actual digest bits. */
public byte digestBits[]; /** status of the digest */
public boolean digestValid; private int state[];
private long count;
private byte buffer[];
private static int transformBuffer[]; private static final int S11 = 7;
private static final int S12 = 12;
private static final int S13 = 17;
private static final int S14 = 22;
private static final int S21 = 5;
private static final int S22 = 9;
private static final int S23 = 14;
private static final int S24 = 20;
private static final int S31 = 4;
private static final int S32 = 11;
private static final int S33 = 16;
private static final int S34 = 23;
private static final int S41 = 6;
private static final int S42 = 10;
private static final int S43 = 15;
private static final int S44 = 21; /**
* Standard constructor, creates a new MD5 instance, allocates its
* buffers from the heap.
*/
public MD5() {
state = new int[4];
count = 0;
if (transformBuffer == null)
transformBuffer = new int[16];
buffer = new byte[64];
digestBits = new byte[16];
digestValid = false;
} /* **********************************************************
* The MD5 Functions. These are copied verbatim from
* the RFC to insure accuracy. The results of this
* implementation were checked against the RSADSI version.
* **********************************************************
*/
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货