Skip to content

HarryChen/quickxorhash

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This python library is a Cython wrapper for the original C implementation. quickxorhash is a C library (libqxh) implementing Microsoft's QuickXORHash algorithm.

Algorithm

QuickXORHash is a non-cryptographic hash function that XORs the input bytes in a circular shift pattern, then XORs the least significant bits of the hash with the input length. The canonical representation of the resulting hash is a Base64 encoded string, because hexadecimal is too plebeian.

Usage

>>> import quickxorhash
>>> h = quickxorhash.quickxorhash()
>>> h.update(b'hello world')
>>> print(h.digest())
b'h(\x03\x1b\xd8\xf0\x06\x10\xdc\xe1\rrk\x03\x19\x00\x00\x00\x00\x00'
>>> import base64
>>> print(base64.b64encode(h.digest()))
b'aCgDG9jwBhDc4Q1yawMZAAAAAAA='

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 83.6%
  • Python 16.4%