Class JrpcgenSHA


  • public class JrpcgenSHA
    extends java.lang.Object
    This class implements the SHA-1 algorithm as described in "Federal Information Processing Standards Publication 180-1: Specifications for the Secure Hash Standard. April 17, 1995."
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private long bytecount  
      private int H0  
      private int H1  
      private int H2  
      private int H3  
      private int H4  
      private int[] W
      Work buffer for calculating the hash.
    • Constructor Summary

      Constructors 
      Constructor Description
      JrpcgenSHA()
      Create a new SHA-1 hashing object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte[] getDigest()
      Retrieve the digest (that is, informally spoken, the "hash value").
      long getHash()
      Return first 64 bits of hash digest for use as a serialization UID, etc.
      private void process()
      Process a single block.
      void reset()
      Reset the hashing engine to start hashing another set of innocent bytes.
      void update​(byte b)
      Update the hash using a single byte (8 bits).
      void update​(int i)
      Update the hash using an integer (32 bits).
      void update​(short s)
      Update the hash using a short integer (16 bits).
      void update​(java.lang.String s)
      Update the hash using a string.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • W

        private final int[] W
        Work buffer for calculating the hash.
      • bytecount

        private long bytecount
      • H0

        private int H0
      • H1

        private int H1
      • H2

        private int H2
      • H3

        private int H3
      • H4

        private int H4
    • Constructor Detail

      • JrpcgenSHA

        public JrpcgenSHA()
        Create a new SHA-1 hashing object.
    • Method Detail

      • update

        public void update​(byte b)
        Update the hash using a single byte (8 bits).
        Parameters:
        b - Byte to hash.
      • update

        public void update​(short s)
        Update the hash using a short integer (16 bits).
        Parameters:
        s - Short integer to hash.
      • update

        public void update​(int i)
        Update the hash using an integer (32 bits).
        Parameters:
        i - Integer to hash.
      • update

        public void update​(java.lang.String s)
        Update the hash using a string.
        Parameters:
        s - String to hash.
      • reset

        public void reset()
        Reset the hashing engine to start hashing another set of innocent bytes.
      • getDigest

        public byte[] getDigest()
        Retrieve the digest (that is, informally spoken, the "hash value").
        Returns:
        digest as a series of 20 bytes (80 bits).
      • getHash

        public long getHash()
        Return first 64 bits of hash digest for use as a serialization UID, etc.
        Returns:
        hash digest with only 64 bit size.
      • process

        private void process()
        Process a single block. This is pretty much copied verbatim from "Federal Information Processing Standards Publication 180-1: Specifications for the Secure Hash Standard. April 17, 1995.", pp. 9, 10.