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

📄 randomutils.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:   RandomUtils.java

package org.gudy.azureus2.core3.util;

import java.security.SecureRandom;
import java.util.Random;
import org.gudy.azureus2.core3.config.COConfigurationManager;

public class RandomUtils
{

	public static final Random RANDOM = new Random(System.currentTimeMillis());
	public static final SecureRandom SECURE_RANDOM = new SecureRandom();
	public static final int LISTEN_PORT_MIN = 10000;
	public static final int LISTEN_PORT_MAX = 65535;

	public RandomUtils()
	{
	}

	public static byte[] generateRandomBytes(int num_to_generate)
	{
		byte id[] = new byte[num_to_generate];
		RANDOM.nextBytes(id);
		return id;
	}

	public static String generateRandomAlphanumerics(int num_to_generate)
	{
		String alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
		StringBuffer buff = new StringBuffer(num_to_generate);
		for (int i = 0; i < num_to_generate; i++)
		{
			int pos = (int)(RANDOM.nextDouble() * (double)alphabet.length());
			buff.append(alphabet.charAt(pos));
		}

		return buff.toString();
	}

	public static int generateRandomNetworkListenPort()
	{
		int existing_tcp = COConfigurationManager.getIntParameter("TCP.Listen.Port");
		int existing_udp = COConfigurationManager.getIntParameter("UDP.Listen.Port");
		int existing_udp2 = COConfigurationManager.getIntParameter("UDP.NonData.Listen.Port");
		int port;
		do
		{
			int min = 10000;
			port = min + RANDOM.nextInt(0x10000 - min);
		} while (port >= 45100 && port <= 45110 || (port == existing_tcp || port == existing_udp || port == existing_udp2));
		return port;
	}

	public static int generateRandomPlusMinus1()
	{
		return RANDOM.nextBoolean() ? -1 : 1;
	}

	public static float nextFloat()
	{
		return RANDOM.nextFloat();
	}

	public static void nextBytes(byte bytes[])
	{
		RANDOM.nextBytes(bytes);
	}

	public static void nextSecureBytes(byte bytes[])
	{
		SECURE_RANDOM.nextBytes(bytes);
	}

	public static byte[] nextSecureHash()
	{
		byte hash[] = new byte[20];
		SECURE_RANDOM.nextBytes(hash);
		return hash;
	}

	public static byte[] nextHash()
	{
		byte hash[] = new byte[20];
		RANDOM.nextBytes(hash);
		return hash;
	}

	public static int nextInt(int n)
	{
		return RANDOM.nextInt(n);
	}

	public static byte nextByte()
	{
		return (byte)RANDOM.nextInt();
	}

	public static int nextInt()
	{
		return RANDOM.nextInt();
	}

	public static long nextLong()
	{
		return RANDOM.nextLong();
	}

	public static int generateRandomIntUpto(int max)
	{
		return nextInt(max);
	}

	public static int generateRandomIntBetween(int min, int max)
	{
		return min + generateRandomIntUpto((max + 1) - min);
	}

}

⌨️ 快捷键说明

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