org.acplt.oncrpc.apps.jrpcgen
Class JrpcgenSHA

java.lang.Object
  extended by org.acplt.oncrpc.apps.jrpcgen.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
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
JrpcgenSHA()
          Create a new SHA-1 hashing object.
 
Method Summary
 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.