18.2 Hash Functions

Use the functions below to turn bytearray input of arbitrary length into an output of fixed length

hashDigest

Completes the hash computation by performing final operations such as padding. After this call is made the digest is reset.

bytearray hashDigest();
ParameterDescription

Returns

A hexadecimal hash sum

hashReset

Resets the digest for further use.

void hashReset();
ParameterDescription

Returns

Nothing

hashUpdate

Updates the digest using the specified array of bytes.

void hashUpdate(bytearray);
ParameterDescription

bytearray

Any type of bytearray

Returns

Nothing

hashSetAlgorithm

Uses a digest that implements the specified digest algorithm.

Note!

The default setting, that is if the algorithm is not set, the SHA-1 hash method is used.

void hashSetAlgorithm(<"hash_method">);
ParameterDescription

<"hash_method">

The name of the algorithm requested. Supported hash algorithms are: MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512

Returns

Nothing.

hashSetAlgorithmFromProvider

Uses a digest that implements the specified digest algorithm, as supplied from the specified provider. The digest will be reset.

void hashSetAlgorithmFromProvider(string,string);
ParameterDescription

<"unique_hash">

The name of the hash algorithm developed by the provider

Provider

The name of the provider

Returns

Nothing

Hash Example

Example - Hash

initialize {
 hashSetAlgorithm("MD2");
}
 
beginBatch {
 hashReset();
}
 
consume {
 hashUpdate(input); 
}
 
drain {
 bytearray hashsum = hashDigest();
 string sHashSum = baToHexString(hashsum); // Optional
 bytearray result; // Optional
 strToBA(result, sHashSum); // Optional
 udrRoute(result);
}

Note!

The optional parts in the example are added to convert the hash sum to a more readable form.