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

📄 jdkalgorithmparametergenerator.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:   JDKAlgorithmParameterGenerator.java

package org.bouncycastle.jce.provider;

import java.security.*;
import java.security.spec.AlgorithmParameterSpec;
import java.security.spec.DSAParameterSpec;
import javax.crypto.spec.*;
import org.bouncycastle.crypto.generators.*;
import org.bouncycastle.crypto.params.*;
import org.bouncycastle.jce.spec.ElGamalParameterSpec;

public abstract class JDKAlgorithmParameterGenerator extends AlgorithmParameterGeneratorSpi
{
	public static class AES extends JDKAlgorithmParameterGenerator
	{

		protected void engineInit(AlgorithmParameterSpec genParamSpec, SecureRandom random)
			throws InvalidAlgorithmParameterException
		{
			throw new InvalidAlgorithmParameterException("No supported AlgorithmParameterSpec for AES parameter generation.");
		}

		protected AlgorithmParameters engineGenerateParameters()
		{
			byte iv[] = new byte[16];
			if (random == null)
				random = new SecureRandom();
			random.nextBytes(iv);
			AlgorithmParameters params;
			try
			{
				params = AlgorithmParameters.getInstance("AES", "BC");
				params.init(new IvParameterSpec(iv));
			}
			catch (Exception e)
			{
				throw new RuntimeException(e.getMessage());
			}
			return params;
		}

		public AES()
		{
		}
	}

	public static class CAST5 extends JDKAlgorithmParameterGenerator
	{

		protected void engineInit(AlgorithmParameterSpec genParamSpec, SecureRandom random)
			throws InvalidAlgorithmParameterException
		{
			throw new InvalidAlgorithmParameterException("No supported AlgorithmParameterSpec for CAST5 parameter generation.");
		}

		protected AlgorithmParameters engineGenerateParameters()
		{
			byte iv[] = new byte[8];
			if (random == null)
				random = new SecureRandom();
			random.nextBytes(iv);
			AlgorithmParameters params;
			try
			{
				params = AlgorithmParameters.getInstance("CAST5", "BC");
				params.init(new IvParameterSpec(iv));
			}
			catch (Exception e)
			{
				throw new RuntimeException(e.getMessage());
			}
			return params;
		}

		public CAST5()
		{
		}
	}

	public static class DES extends JDKAlgorithmParameterGenerator
	{

		protected void engineInit(AlgorithmParameterSpec genParamSpec, SecureRandom random)
			throws InvalidAlgorithmParameterException
		{
			throw new InvalidAlgorithmParameterException("No supported AlgorithmParameterSpec for DES parameter generation.");
		}

		protected AlgorithmParameters engineGenerateParameters()
		{
			byte iv[] = new byte[8];
			if (random == null)
				random = new SecureRandom();
			random.nextBytes(iv);
			AlgorithmParameters params;
			try
			{
				params = AlgorithmParameters.getInstance("DES", "BC");
				params.init(new IvParameterSpec(iv));
			}
			catch (Exception e)
			{
				throw new RuntimeException(e.getMessage());
			}
			return params;
		}

		public DES()
		{
		}
	}

	public static class DH extends JDKAlgorithmParameterGenerator
	{

		private int l;

		protected void engineInit(AlgorithmParameterSpec genParamSpec, SecureRandom random)
			throws InvalidAlgorithmParameterException
		{
			if (!(genParamSpec instanceof DHGenParameterSpec))
			{
				throw new InvalidAlgorithmParameterException("DH parameter generator requires a DHGenParameterSpec for initialisation");
			} else
			{
				DHGenParameterSpec spec = (DHGenParameterSpec)genParamSpec;
				strength = spec.getPrimeSize();
				l = spec.getExponentSize();
				this.random = random;
				return;
			}
		}

		protected AlgorithmParameters engineGenerateParameters()
		{
			DHParametersGenerator pGen = new DHParametersGenerator();
			if (random != null)
				pGen.init(strength, 20, random);
			else
				pGen.init(strength, 20, new SecureRandom());
			DHParameters p = pGen.generateParameters();
			AlgorithmParameters params;
			try
			{
				params = AlgorithmParameters.getInstance("DH", "BC");
				params.init(new DHParameterSpec(p.getP(), p.getG(), l));
			}
			catch (Exception e)
			{
				throw new RuntimeException(e.getMessage());
			}
			return params;
		}

		public DH()
		{
			l = 0;
		}
	}

	public static class DSA extends JDKAlgorithmParameterGenerator
	{

		protected void engineInit(AlgorithmParameterSpec genParamSpec, SecureRandom random)
			throws InvalidAlgorithmParameterException
		{
			throw new InvalidAlgorithmParameterException("No supported AlgorithmParameterSpec for DSA parameter generation.");
		}

		protected AlgorithmParameters engineGenerateParameters()
		{
			DSAParametersGenerator pGen = new DSAParametersGenerator();
			if (random != null)
				pGen.init(strength, 20, random);
			else
				pGen.init(strength, 20, new SecureRandom());
			DSAParameters p = pGen.generateParameters();
			AlgorithmParameters params;
			try
			{
				params = AlgorithmParameters.getInstance("DSA", "BC");
				params.init(new DSAParameterSpec(p.getP(), p.getQ(), p.getG()));
			}
			catch (Exception e)
			{
				throw new RuntimeException(e.getMessage());
			}
			return params;
		}

		public DSA()
		{
		}
	}

	public static class ElGamal extends JDKAlgorithmParameterGenerator
	{

		protected void engineInit(AlgorithmParameterSpec genParamSpec, SecureRandom random)
			throws InvalidAlgorithmParameterException
		{
			throw new InvalidAlgorithmParameterException("No supported AlgorithmParameterSpec for ElGamal parameter generation.");
		}

		protected AlgorithmParameters engineGenerateParameters()
		{
			ElGamalParametersGenerator pGen = new ElGamalParametersGenerator();
			if (random != null)
				pGen.init(strength, 20, random);
			else
				pGen.init(strength, 20, new SecureRandom());
			ElGamalParameters p = pGen.generateParameters();
			AlgorithmParameters params;
			try
			{
				params = AlgorithmParameters.getInstance("ElGamal", "BC");
				params.init(new ElGamalParameterSpec(p.getP(), p.getG()));
			}
			catch (Exception e)
			{
				throw new RuntimeException(e.getMessage());
			}
			return params;
		}

		public ElGamal()
		{
		}
	}

	public static class IDEA extends JDKAlgorithmParameterGenerator
	{

		protected void engineInit(AlgorithmParameterSpec genParamSpec, SecureRandom random)
			throws InvalidAlgorithmParameterException
		{
			throw new InvalidAlgorithmParameterException("No supported AlgorithmParameterSpec for IDEA parameter generation.");
		}

		protected AlgorithmParameters engineGenerateParameters()
		{
			byte iv[] = new byte[8];
			if (random == null)
				random = new SecureRandom();
			random.nextBytes(iv);
			AlgorithmParameters params;
			try
			{
				params = AlgorithmParameters.getInstance("IDEA", "BC");
				params.init(new IvParameterSpec(iv));
			}
			catch (Exception e)
			{
				throw new RuntimeException(e.getMessage());
			}
			return params;
		}

		public IDEA()
		{
		}
	}

	public static class RC2 extends JDKAlgorithmParameterGenerator
	{

		RC2ParameterSpec spec;

		protected void engineInit(AlgorithmParameterSpec genParamSpec, SecureRandom random)
			throws InvalidAlgorithmParameterException
		{
			if (genParamSpec instanceof RC2ParameterSpec)
			{
				spec = (RC2ParameterSpec)genParamSpec;
				return;
			} else
			{
				throw new InvalidAlgorithmParameterException("No supported AlgorithmParameterSpec for RC2 parameter generation.");
			}
		}

		protected AlgorithmParameters engineGenerateParameters()
		{
			AlgorithmParameters params;
			if (spec == null)
			{
				byte iv[] = new byte[8];
				if (random == null)
					random = new SecureRandom();
				random.nextBytes(iv);
				try
				{
					params = AlgorithmParameters.getInstance("RC2", "BC");
					params.init(new IvParameterSpec(iv));
				}
				catch (Exception e)
				{
					throw new RuntimeException(e.getMessage());
				}
			} else
			{
				try
				{
					params = AlgorithmParameters.getInstance("RC2", "BC");
					params.init(spec);
				}
				catch (Exception e)
				{
					throw new RuntimeException(e.getMessage());
				}
			}
			return params;
		}

		public RC2()
		{
			spec = null;
		}
	}


	protected SecureRandom random;
	protected int strength;

	public JDKAlgorithmParameterGenerator()
	{
		strength = 1024;
	}

	protected void engineInit(int strength, SecureRandom random)
	{
		this.strength = strength;
		this.random = random;
	}
}

⌨️ 快捷键说明

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