From 9c401cddf07afe7340148ba626a7a7a5dbb0cf74 Mon Sep 17 00:00:00 2001 From: "Aaron M. Renn" Date: Sun, 18 Jul 1999 21:39:52 +0000 Subject: Initial checking of Mark Benvenuto's security code --- java/security/SecureRandomSpi.java | 68 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 java/security/SecureRandomSpi.java (limited to 'java/security/SecureRandomSpi.java') diff --git a/java/security/SecureRandomSpi.java b/java/security/SecureRandomSpi.java new file mode 100644 index 000000000..46cd4935e --- /dev/null +++ b/java/security/SecureRandomSpi.java @@ -0,0 +1,68 @@ +/* SecureRandomSpi.java --- Secure Random Service Provider Interface + + Copyright (c) 1999 by Free Software Foundation, Inc. + Written by Mark Benvenuto + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published + by the Free Software Foundation, version 2. (see COPYING.LIB) + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA. */ + +package java.security; +import java.io.Serializable; +//import SecureRandom; +/** + SecureRandomSpi is the Service Provider Interface for SecureRandom + providers. It provides an interface for providers to the + SecureRandom engine to write their own pseudo-random number + generator. + + @since JDK 1.2 + + @author Mark Benvenuto +*/ + +public abstract class SecureRandomSpi implements Serializable +{ + +/** + Default Constructor for SecureRandomSpi +*/ +public SecureRandomSpi() +{} + +/** + Updates the seed for SecureRandomSpi but does not reset seed. + It does to this so repeated called never decrease randomness. +*/ +protected abstract void engineSetSeed(byte[] seed); + + +/** + Gets a user specified number of bytes depending on the length + of the array? + + @param bytes array to fill with random bytes +*/ +protected abstract void engineNextBytes(byte[] bytes); + +/** + Gets a user specified number of bytes specified by the + parameter. + + @param numBytes number of random bytes to generate + + @return an array full of random bytes +*/ +protected abstract byte[] engineGenerateSeed(int numBytes); + + +} \ No newline at end of file -- cgit v1.2.1