Shop/src/util/MD5.java

(开头部分) 11KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

package util;
/* MD5 算法的Java Bean 
  Last Modified:10,Mar,2001 
   */
import java.lang.reflect.*;
/************************************************* 
  md5 类实现了RSA Data Security, Inc.在提交给IETF 
  的RFC1321中的MD5 message-digest 算法。 
  *************************************************/
public class MD5 {
	/* 下面这些S11-S44实际上是一个4*4的矩阵,在原始的C实现中是用#define 实现的, 
  这里把它们实现成为static final是表示了只读,切能在同一个进程空间内的多个 
  Instance间共享*/
	static final int S11 = 7; 
	static final int S12 = 12; 
	static final int S13 = 17; 
	static final int S14 = 22; 
	static final int S21 = 5; 
	static final int S22 = 9; 
	static final int S23 = 14; 
	static final int S24 = 20; 
	static final int S31 = 4; 
	static final int S32 = 11; 
	static final int S33 = 16; 
	static final int S34 = 23; 
	static final int S41 = 6; 
	static final int S42 = 10; 
	static final int S43 = 15; 
	static final int S44 = 21; 
	static final byte[] PADDING = { -128, 0, 0, 0, 0, 0, 0, 0, 0, 
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; 
	/* 下面的三个成员是MD5计算过程中用到的3个核心数据,在原始的C实现中 
  被定义到MD5_CTX结构中 
  */ 
	private long[] state = new long[4]; // state (ABCD) 
	private long[] count = new long[2]; // number of bits, modulo 2^64 (lsb first) 
	private byte[] buffer = new byte[64]; // input buffer 
	/* digestHexStr是MD5的唯一一个公共成员,是最新一次计算结果的 
	 * 16进制ASCII表示. 
  */ 
	public String digestHexStr; 
	/* digest,是最新一次计算结果的2进制内部表示,表示128bit的MD5值. 
	 * */ 
	private byte[] digest = new byte[16]; 
	/* 
  getMD5ofStr是类MD5最主要的公共方法,入口参数是你想要进行MD5变换的字符串 
  返回的是变换完的结果,这个结果是从公共成员digestHexStr取得的. 
  */ 
	public String getMD5ofStr(String inbuf) { 
		md5Init(); 
		md5Update(inbuf.getBytes(), inbuf.length()); 
		md5Final(); 
		digestHexStr = ""; 
		for (int i = 0; i < 16; i++) { 
			digestHexStr += byteHEX(digest[i]); 
			} 
		return digestHexStr; 
		}
后面还有 233 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。