< prev index next >

jdk/src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeDigest.java

Print this page




  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package com.oracle.security.ucrypto;
  27 
  28 import java.lang.ref.*;
  29 
  30 import java.io.ByteArrayOutputStream;
  31 import java.util.*;
  32 import java.util.concurrent.ConcurrentSkipListSet;
  33 import java.security.*;
  34 
  35 /**
  36  * MessageDigest implementation class. This class currently supports
  37  * MD5, SHA1, SHA256, SHA384, and SHA512
  38  *
  39  * @since 1.9
  40  */
  41 public abstract class NativeDigest extends MessageDigestSpi
  42         implements Cloneable {
  43 
  44     private static final int MECH_MD5 = 1;
  45     private static final int MECH_SHA1 = 2;
  46     private static final int MECH_SHA256 = 3;
  47     private static final int MECH_SHA224 = 4;
  48     private static final int MECH_SHA384 = 5;
  49     private static final int MECH_SHA512 = 6;
  50 
  51     private final int digestLen;
  52     private final int mech;
  53 
  54     // field for ensuring native memory is freed
  55     private DigestContextRef pCtxt = null;
  56 
  57     private static class DigestContextRef extends PhantomReference<NativeDigest>
  58         implements Comparable<DigestContextRef> {
  59 




  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package com.oracle.security.ucrypto;
  27 
  28 import java.lang.ref.*;
  29 
  30 import java.io.ByteArrayOutputStream;
  31 import java.util.*;
  32 import java.util.concurrent.ConcurrentSkipListSet;
  33 import java.security.*;
  34 
  35 /**
  36  * MessageDigest implementation class. This class currently supports
  37  * MD5, SHA1, SHA256, SHA384, and SHA512
  38  *
  39  * @since 9
  40  */
  41 public abstract class NativeDigest extends MessageDigestSpi
  42         implements Cloneable {
  43 
  44     private static final int MECH_MD5 = 1;
  45     private static final int MECH_SHA1 = 2;
  46     private static final int MECH_SHA256 = 3;
  47     private static final int MECH_SHA224 = 4;
  48     private static final int MECH_SHA384 = 5;
  49     private static final int MECH_SHA512 = 6;
  50 
  51     private final int digestLen;
  52     private final int mech;
  53 
  54     // field for ensuring native memory is freed
  55     private DigestContextRef pCtxt = null;
  56 
  57     private static class DigestContextRef extends PhantomReference<NativeDigest>
  58         implements Comparable<DigestContextRef> {
  59 


< prev index next >