aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/security/MessageDigest.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/security/MessageDigest.java')
-rw-r--r--libjava/java/security/MessageDigest.java144
1 files changed, 0 insertions, 144 deletions
diff --git a/libjava/java/security/MessageDigest.java b/libjava/java/security/MessageDigest.java
deleted file mode 100644
index 04546cdde19..00000000000
--- a/libjava/java/security/MessageDigest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-// MessageDigest.java
-
-/* Copyright (C) 2000 Free Software Foundation
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.security;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date February 11, 2000.
- */
-
-/**
- * Written using on-line Java Platform 1.1 API Specification.
- * Status: Believed complete and correct to 1.1 spec.
- * It is known not to comply with the 1.2 spec.
- */
-
-public abstract class MessageDigest
-{
- protected MessageDigest (String algorithm)
- {
- name = algorithm;
- }
-
- public static MessageDigest getInstance (String algorithm)
- throws NoSuchAlgorithmException
- {
- String name = "MessageDigest." + algorithm;
- Provider[] provs = Security.getProviders ();
- for (int i = 0; i < provs.length; ++i)
- {
- String val = provs[i].getProperty (name);
- if (val != null)
- {
- try
- {
- return (MessageDigest) Class.forName(val).newInstance ();
- }
- catch (Throwable _)
- {
- // We just ignore failures.
- }
- }
- }
-
- throw new NoSuchAlgorithmException (algorithm);
- }
-
- public static MessageDigest getInstance (String algorithm, String provider)
- throws NoSuchAlgorithmException, NoSuchProviderException
- {
- String name = "MessageDigest." + algorithm;
- Provider p = Security.getProvider (provider);
- if (p == null)
- throw new NoSuchProviderException (provider);
- String val = p.getProperty (name);
- if (val != null)
- {
- try
- {
- return (MessageDigest) Class.forName(val).newInstance ();
- }
- catch (Throwable _)
- {
- // Nothing.
- }
- }
-
- throw new NoSuchAlgorithmException (algorithm);
- }
-
- public void update (byte input)
- {
- engineUpdate (input);
- }
-
- public void update (byte[] input, int offset, int len)
- {
- engineUpdate (input, offset, len);
- }
-
- public void update (byte[] input)
- {
- engineUpdate (input, 0, input.length);
- }
-
- public byte[] digest ()
- {
- return engineDigest ();
- }
-
- public byte[] digest (byte[] input)
- {
- update (input);
- return engineDigest ();
- }
-
- public String toString ()
- {
- // There is no spec for this.
- return "[MessageDigest: " + name + "]";
- }
-
- public static boolean isEqual (byte[] digesta, byte[] digestb)
- {
- if (digesta == digestb)
- return true;
- if (digesta.length != digestb.length)
- return false;
- for (int i = digesta.length - 1; i >= 0; --i)
- if (digesta[i] != digestb[i])
- return false;
- return true;
- }
-
- public void reset ()
- {
- engineReset ();
- }
-
- public final String getAlgorithm ()
- {
- return name;
- }
-
- protected abstract void engineUpdate (byte input);
- protected abstract void engineUpdate (byte input[], int offset, int len);
- protected abstract byte[] engineDigest ();
- protected abstract void engineReset ();
-
- public Object clone() throws CloneNotSupportedException
- {
- return super.clone ();
- }
-
- // Algorithm name.
- private String name;
-}