⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ed2khasher.java

📁 java 文件下载器。可自定义
💻 JAVA
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   ED2KHasher.java

package org.gudy.azureus2.core3.util;


// Referenced classes of package org.gudy.azureus2.core3.util:
//			MD4Hasher

public class ED2KHasher
{

	public static final int BLOCK_SIZE = 0x947000;
	protected MD4Hasher current_hasher;
	protected MD4Hasher block_hasher;
	protected int current_bytes;

	public ED2KHasher()
	{
		current_hasher = new MD4Hasher();
	}

	public void update(byte data[])
	{
		update(data, 0, data.length);
	}

	public void update(byte data[], int pos, int len)
	{
		int rem = len;
		do
		{
			if (rem <= 0)
				break;
			int space = 0x947000 - current_bytes;
			if (rem <= space)
			{
				current_hasher.update(data, pos, rem);
				current_bytes += rem;
				break;
			}
			if (block_hasher == null)
				block_hasher = new MD4Hasher();
			if (space == 0)
			{
				block_hasher.update(current_hasher.getDigest());
				current_hasher = new MD4Hasher();
				current_bytes = 0;
			} else
			{
				current_hasher.update(data, pos, space);
				pos += space;
				rem -= space;
				current_bytes += space;
			}
		} while (true);
	}

	public byte[] getDigest()
	{
		if (current_bytes == 0x947000)
		{
			if (block_hasher == null)
				block_hasher = new MD4Hasher();
			block_hasher.update(current_hasher.getDigest());
			current_hasher = new MD4Hasher();
		}
		if (block_hasher == null)
			return current_hasher.getDigest();
		if (current_bytes > 0)
			block_hasher.update(current_hasher.getDigest());
		return block_hasher.getDigest();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -