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

📄 desparameters.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:   DESParameters.java

package org.bouncycastle.crypto.params;


// Referenced classes of package org.bouncycastle.crypto.params:
//			KeyParameter

public class DESParameters extends KeyParameter
{

	public static final int DES_KEY_LENGTH = 8;
	private static final int N_DES_WEAK_KEYS = 16;
	private static byte DES_weak_keys[] = {
		1, 1, 1, 1, 1, 1, 1, 1, 31, 31, 
		31, 31, 14, 14, 14, 14, -32, -32, -32, -32, 
		-15, -15, -15, -15, -2, -2, -2, -2, -2, -2, 
		-2, -2, 1, -2, 1, -2, 1, -2, 1, -2, 
		31, -32, 31, -32, 14, -15, 14, -15, 1, -32, 
		1, -32, 1, -15, 1, -15, 31, -2, 31, -2, 
		14, -2, 14, -2, 1, 31, 1, 31, 1, 14, 
		1, 14, -32, -2, -32, -2, -15, -2, -15, -2, 
		-2, 1, -2, 1, -2, 1, -2, 1, -32, 31, 
		-32, 31, -15, 14, -15, 14, -32, 1, -32, 1, 
		-15, 1, -15, 1, -2, 31, -2, 31, -2, 14, 
		-2, 14, 31, 1, 31, 1, 14, 1, 14, 1, 
		-2, -32, -2, -32, -2, -15, -2, -15
	};

	public DESParameters(byte key[])
	{
		super(key);
		if (isWeakKey(key, 0))
			throw new IllegalArgumentException("attempt to create weak DES key");
		else
			return;
	}

	public static boolean isWeakKey(byte key[], int offset)
	{
		if (key.length - offset < 8)
			throw new IllegalArgumentException("key material too short.");
		int i = 0;
label0:
		do
		{
label1:
			{
				if (i >= 16)
					break label0;
				for (int j = 0; j < 8; j++)
					if (key[j + offset] != DES_weak_keys[i * 8 + j])
						break label1;

				return true;
			}
			i++;
		} while (true);
		return false;
	}

	public static void setOddParity(byte bytes[])
	{
		for (int i = 0; i < bytes.length; i++)
		{
			int b = bytes[i];
			bytes[i] = (byte)(b & 0xfe | (b >> 1 ^ b >> 2 ^ b >> 3 ^ b >> 4 ^ b >> 5 ^ b >> 6 ^ b >> 7 ^ 1) & 1);
		}

	}

}

⌨️ 快捷键说明

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