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

📄 securerandom.java

📁 kaffe是一个java虚拟机的源代码。里面包含了一些java例程和标准的java包。
💻 JAVA
字号:
/* * Java core library component. * * Copyright (c) 1999 *      Transvirtual Technologies, Inc.  All rights reserved. * * See the file "license.terms" for information on usage and redistribution * of this file. */package java.security;import java.util.Random;import kaffe.security.Engine;public class SecureRandom extends Random {static final String ENGINE_CLASS = "SecureRandom";private final Provider provider;private final SecureRandomSpi engine;public SecureRandom() { 	try {		Engine e = Engine.getCryptInstance(ENGINE_CLASS);		provider = e.getProvider();		engine = (SecureRandomSpi)e.getEngine();	}	catch (NoSuchAlgorithmException e) {		throw new Error("no " + ENGINE_CLASS + " found");	}}public SecureRandom(byte[] seed){	this();	setSeed(seed);}protected SecureRandom(SecureRandomSpi engine, Provider provider) {	this.engine = engine;	this.provider = provider;}public static SecureRandom getInstance(String alg)		throws NoSuchAlgorithmException {	Engine e = Engine.getCryptInstance(ENGINE_CLASS, alg);	return new SecureRandom((SecureRandomSpi)e.getEngine(),				e.getProvider());}public static SecureRandom getInstance(String alg, String prov) 		throws NoSuchAlgorithmException, NoSuchProviderException {	Engine e = Engine.getCryptInstance( ENGINE_CLASS, alg, prov);	return new SecureRandom((SecureRandomSpi)e.getEngine(),				e.getProvider());}public final Provider getProvider() {	return provider;}public void setSeed(byte[] seed) {	if (engine != null) {		engine.engineSetSeed(seed);	}}public void setSeed(long seed) {	byte[] nseed = new byte[8];	for (int i = 0; i < 8; i++) {		nseed[i] = (byte)(seed >> (i * 8));	}	setSeed(nseed);}public void nextBytes(byte[] bytes) {	engine.engineNextBytes(bytes);}protected final int next(int numBits) {	byte[] res = new byte[(numBits + 7) / 8];	nextBytes(res);	return ( (res[0] & 0xFF) |		((res[1] <<  8) & 0xFF00) |		((res[2] << 16) & 0xFF0000) |		((res[3] << 24) & 0xFF000000));}public static byte[] getSeed(int numBytes) {	return new SecureRandom().getSeed(numBytes);}public byte[] generateSeed(int numBytes) {	return engine.engineGenerateSeed(numBytes);}}

⌨️ 快捷键说明

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