> For the complete documentation index, see [llms.txt](https://malwaresourcecode.com/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://malwaresourcecode.com/home/string-hashing/jenkinsoneatatime32bit.md).

# JenkinsOneAtATime32Bit

```cpp
#include <Windows.h>

UINT32 HashStringJenkinsOneAtATime32W(PWCHAR String)
{
    UINT32 Hash = 0;

    while (*String)
    {
        Hash += (UINT16)*String++;
        Hash += (Hash << 10);
        Hash ^= (Hash >> 6);
    }

    Hash += (Hash << 3);
    Hash ^= (Hash >> 11);
    Hash += (Hash << 15);

    return Hash;
}

INT main(VOID)
{
    WCHAR StringHashExample[] = L"Hash This String";
    UINT32 Hash = 0;

    Hash = HashStringJenkinsOneAtATime32W(StringHashExample);

    return ERROR_SUCCESS;
}
```
