Public Member Functions | Public Attributes

nsICryptoHash Interface Reference

nsICryptoHash This interface provides crytographic hashing algorithms. More...

import "nsICryptoHash.idl";

List of all members.

Public Member Functions

void init (in unsigned long aAlgorithm)
 Initialize the hashing object.
void initWithString (in ACString aAlgorithm)
 Initialize the hashing object.
void update ([const, array, size_is(aLen)] in octet aData, in unsigned long aLen)
void updateFromStream (in nsIInputStream aStream, in unsigned long aLen)
 Calculates and updates a new hash based on a given data stream.
ACString finish (in PRBool aASCII)
 Completes this hash object and produces the actual hash data.

Public Attributes

const short MD2 = 1
 Hashing Algorithms.
const short MD5 = 2
const short SHA1 = 3
const short SHA256 = 4
const short SHA384 = 5
const short SHA512 = 6

Detailed Description

nsICryptoHash This interface provides crytographic hashing algorithms.


Member Function Documentation

ACString nsICryptoHash::finish ( in PRBool  aASCII  ) 

Completes this hash object and produces the actual hash data.

Parameters:
aASCII if true then the returned value is a base-64 encoded string. if false, then the returned value is binary data.
Returns:
a hash of the data that was read by this object. This can be either binary data or base 64 encoded.
Exceptions:
NS_ERROR_NOT_INITIALIZED if |init| has not been called.

NOTE: This method may be called any time after |init| is called. This call resets the object to its pre-init state.

void nsICryptoHash::init ( in unsigned long  aAlgorithm  ) 

Initialize the hashing object.

This method may be called multiple times with different algorithm types.

Parameters:
aAlgorithm the algorithm type to be used. This value must be one of the above valid algorithm types.
Exceptions:
NS_ERROR_INVALID_ARG if an unsupported algorithm type is passed.

NOTE: This method or initWithString must be called before any other method on this interface is called.

void nsICryptoHash::initWithString ( in ACString  aAlgorithm  ) 

Initialize the hashing object.

This method may be called multiple times with different algorithm types.

Parameters:
aAlgorithm the algorithm type to be used.
Exceptions:
NS_ERROR_INVALID_ARG if an unsupported algorithm type is passed.

NOTE: This method or init must be called before any other method on this interface is called.

void nsICryptoHash::update ( [const, array, size_is(aLen)] in octet  aData,
in unsigned long  aLen 
)
Parameters:
aData a buffer to calculate the hash over
aLen the length of the buffer |aData|
Exceptions:
NS_ERROR_NOT_INITIALIZED if |init| has not been called.
void nsICryptoHash::updateFromStream ( in nsIInputStream  aStream,
in unsigned long  aLen 
)

Calculates and updates a new hash based on a given data stream.

Parameters:
aStream an input stream to read from.
aLen how much to read from the given |aStream|. Passing PR_UINT32_MAX indicates that all data available will be used to update the hash.
Exceptions:
NS_ERROR_NOT_INITIALIZED if |init| has not been called.
NS_ERROR_NOT_AVAILABLE if the requested amount of data to be calculated into the hash is not available.

Member Data Documentation

const short nsICryptoHash::MD2 = 1

Hashing Algorithms.

These values are to be used by the |init| method to indicate which hashing function to use. These values map directly onto the values defined in mozilla/security/nss/lib/cryptohi/hasht.h.

const short nsICryptoHash::MD5 = 2
const short nsICryptoHash::SHA1 = 3
const short nsICryptoHash::SHA256 = 4
const short nsICryptoHash::SHA384 = 5
const short nsICryptoHash::SHA512 = 6

The documentation for this interface was generated from the following file: