summaryrefslogtreecommitdiff
path: root/java/security/SecureRandomSpi.java
diff options
context:
space:
mode:
authorAaron M. Renn <arenn@urbanophile.com>1999-07-18 21:39:52 +0000
committerAaron M. Renn <arenn@urbanophile.com>1999-07-18 21:39:52 +0000
commit9c401cddf07afe7340148ba626a7a7a5dbb0cf74 (patch)
treea22eaa5802e621bb2d8b7c6ffeffe890d18017ac /java/security/SecureRandomSpi.java
parent11a56217114c8a391aa3d8bd274df8553d03633f (diff)
downloadclasspath-9c401cddf07afe7340148ba626a7a7a5dbb0cf74.tar.gz
Initial checking of Mark Benvenuto's security code
Diffstat (limited to 'java/security/SecureRandomSpi.java')
-rw-r--r--java/security/SecureRandomSpi.java68
1 files changed, 68 insertions, 0 deletions
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 <ivymccough@worldnet.att.net>
+
+ 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 <ivymccough@worldnet.att.net>
+*/
+
+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