Back to index

lightning-sunbird  0.9+nobinonly
Public Member Functions | Public Attributes
nsICryptoHash Interface Reference

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

import "nsICryptoHash.idl";

Inheritance diagram for nsICryptoHash:
Inheritance graph
[legend]
Collaboration diagram for nsICryptoHash:
Collaboration graph
[legend]

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.

Definition at line 46 of file nsICryptoHash.idl.


Member Function Documentation

ACString nsICryptoHash::finish ( in PRBool  aASCII)

Completes this hash object and produces the actual hash data.

Parameters:
aASCIIif 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_INITIALIZEDif |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:
aAlgorithmthe algorithm type to be used. This value must be one of the above valid algorithm types.
Exceptions:
NS_ERROR_INVALID_ARGif 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:
aAlgorithmthe algorithm type to be used.
Exceptions:
NS_ERROR_INVALID_ARGif 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:
aDataa buffer to calculate the hash over
aLenthe length of the buffer |aData|
Exceptions:
NS_ERROR_NOT_INITIALIZEDif |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:
aStreaman input stream to read from.
aLenhow 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_INITIALIZEDif |init| has not been called.
NS_ERROR_NOT_AVAILABLEif the requested amount of data to be calculated into the hash is not available.

Member Data Documentation

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.

Definition at line 54 of file nsICryptoHash.idl.

Definition at line 55 of file nsICryptoHash.idl.

Definition at line 56 of file nsICryptoHash.idl.

Definition at line 57 of file nsICryptoHash.idl.

Definition at line 58 of file nsICryptoHash.idl.

Definition at line 59 of file nsICryptoHash.idl.


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