Jenkins one at a time hash is a hash function that produces a 4 byte hash value from a multi-byte in input. This function was developed by Bob Jenkins, based on the Colin Plumb's (a cryptographer who supposedly works for NSA) requirements.
Here we look at how to implement the above one at a time hash function in VB.NET.
In his program, Jenkins uses the datatype ub4 which is the equivalent of 32 bit unsigned int. But when you implement this function in VB.NET using UInt32 data type, you will get an overflow exception when the left shift operation goes beyond 32 bits.
The above function take two parameters. The first parameter is a byte array and the second parameter is the length(number of elements) in the byte array. This function calculates the hash value of the byte array using Jenkins hash function and returns that hash. In case of any error, it will return hash value as 0.