📄 randomutils.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 + -