A Python wrapper for SpookyHash version 2
Project description
spookyhash
A Python wrapper of Bob Jenkins' SpookyHash version 2. Offers 32- 64- and 128-bit oneshot and incremental hashes.
License
Licensed under the MIT license. See the LICENSE file in the repository root for more details.
Usage
Installation
Available through spookyhash - PyPI using pip install spookyhash
.
Oneshot Hashes
>>> import spookyhash
>>> spookyhash.hash32(b'hello world')
2617184861
>>> spookyhash.hash32(b'hello world', seed=0x12345678)
3380090220
>>> spookyhash.hash64(b'hello world')
14865987102431973981
>>> spookyhash.hash64(b'hello world', seed=123)
5719863273689036421
>>> spookyhash.hash128(b'hello world')
185933735475381961281710998418114941533
>>> spookyhash.hash128(b'hello world', seed1=123_000, seed2=456_000)
144121310386202441278894605216246194925
>>> # For a more comparable result to other libraries
>>> spookyhash.hash128_pair(b'hello world')
(14865987102431973981, 10079487997037711397)
>>> spookyhash.hash128_pair(b'hello world', seed1=123_000, seed2=456_000)
(12678109464562819821, 7812831891108919044)
Incremental Hashes
>>> import spookyhash
>>> sh = spookyhash.Hash32()
>>> sh.update(b'hello')
>>> sh.update(b' ')
>>> sh.update(b'world')
>>> sh.final()
2617184861
>>> sh.hexdigest()
'5d12ff9b'
>>> spookyhash.Hash64(b'hello ', seed=123).update(b'world').final()
5719863273689036421
>>> spookyhash.Hash64(b'hello ', seed=123).update(b'world').hexdigest()
'85b609a05709614f'
>>> sh = spookyhash.Hash128(seed1=123_000, seed2=456_000)
>>> sh.update(b'hello world')
>>> sh.final()
144121310386202441278894605216246194925
>>> sh.final_pair()
(12678109464562819821, 7812831891108919044)
>>> sh.hexdigest()
'ede2c8f262b1f1af04f763f735c16c6c'
memoryview
Support
Includes memoryview
compatible types, such as NumPy arrays.
>>> import spookyhash
>>> import numpy as np
>>> spookyhash.Hash64(np.arange(100)).hexdigest()
'43ab5363ad362c74'
>>> spookyhash.Hash64(memoryview(b'hello world')).hexdigest()
'5d12ff9b81984ece'
Platform Independence
If run on a big-endian system, the code would produce different hashes, but of equal quality.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
spookyhash-2.1.0.tar.gz
(121.4 kB
view hashes)
Built Distributions
Close
Hashes for spookyhash-2.1.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 372c7518dd454547ac4813bd91c882e39d264bf119c8cc6b50ac2fdc2a18df2b |
|
MD5 | 6f97bf12b2244238da84cee2015c746c |
|
BLAKE2b-256 | 3227aabd65b4d8c167fceb98e470139ffc0c18fbbc3ac83ff3a86c5a4bd4b20b |
Close
Hashes for spookyhash-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fb5a52e47706435ef8a298d9a87cb2e12bb161466639176867a3f0420b36625 |
|
MD5 | 6ae07b3fd17328430c96760d6aea7454 |
|
BLAKE2b-256 | b418abd618c4eeb639d4826a02c40725529aef3a5733c7357da2a3875e8346cc |
Close
Hashes for spookyhash-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d6b892ffaf1bb2a8e744d427c7edcaac93e974c8591ddf0148aa3413ec7d3ff |
|
MD5 | 5821f194b54394f60d62c522737c053a |
|
BLAKE2b-256 | 5b5b7eb3156deb18e088f58cb068f65963dbf00361e875fe1d1f17ed8f8d4993 |
Close
Hashes for spookyhash-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12476b581b6556553f8d7b12d5a403bfecb874d654c4bdbd0a2ce6f97dd96ecd |
|
MD5 | 58e5963c392185cda5668fe590cf796a |
|
BLAKE2b-256 | 305d71b8033b5d1a32892a27dd39ec883818e537dd082aad9b1be35e5477854f |
Close
Hashes for spookyhash-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c67372e460d30999a004d84c6a82dedb44aaea4ef4a1a5134977562d98cdb29 |
|
MD5 | b35e32e35c0b4444da78da303f3525d3 |
|
BLAKE2b-256 | 03ca84c9242aec3345e315426facfab32fb7fe2e6a89139639832a98b8f2fc2d |
Close
Hashes for spookyhash-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 395e09908f59a512c6f4a50785b9c32bfeb6efe2b8da28d2682b9a954be38854 |
|
MD5 | 5ec4952bc2c4d999cdfbb8202f4c261f |
|
BLAKE2b-256 | e2f9181ca385c7c34284cf6eb618fa2a54c6f33b2426917fc71187bd2e83ec1a |
Close
Hashes for spookyhash-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ae45e37cd744b77b3759619d7e418bb1292fbce6d9bcc14d0d9a294412ba949 |
|
MD5 | 88f82907cf9ca7b7453c13d22cea0941 |
|
BLAKE2b-256 | a8a5dc9e5ebc82809557ee5b3703798f894c2f3c1a0ffe3a8560ef4fc0d7972a |
Close
Hashes for spookyhash-2.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 267e23f520067c815fd5e912c17e21028c1ca9a8ac10d3cf668e33c5d4e4e482 |
|
MD5 | 1d98aef31cb2d700762883290045566f |
|
BLAKE2b-256 | 5f88dad4218e251abb508b7fe2a3396758c998f5ebfa12e6b791a21769209872 |
Close
Hashes for spookyhash-2.1.0-cp310-cp310-macosx_12_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7705657d3f0e35f9ff387ca3f89d831d91cf340d6605d8f0014de2686b7d8959 |
|
MD5 | 7946fc42451194a40833e533b7b5e3e1 |
|
BLAKE2b-256 | 105f51f8bb9fe918697ff24f3a001c0a306814e0a18dd41b98e6be48124ca70d |
Close
Hashes for spookyhash-2.1.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6050ace10c89551ceebba77bd8a317508d5f9d199e0ad3350112831b292515e |
|
MD5 | 5e2080dfd9424765b24bed9f0fda9e1d |
|
BLAKE2b-256 | b94bab39a325e90fccdfbc7ef94120da13bb4f26aca9db99626ae7763cc97852 |
Close
Hashes for spookyhash-2.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72abbb9a93c52f5c77d7764048984f09b065c58fbaeae0dba29f2465075677ea |
|
MD5 | 2a55f5eaa68e29385c2aad066e7a6f76 |
|
BLAKE2b-256 | 0dcb0cb7b026b0dbc1f4d9b0a307a347504b754e2f792fffafba63caa64f382a |
Close
Hashes for spookyhash-2.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29dd1e1185faa4bb25f7cf6a9173db34ad33f998080ce650fbb18e41726213b5 |
|
MD5 | 2f1e04119d4bcbb0678daa66989f9c4f |
|
BLAKE2b-256 | 628f3f26a587c3b71d4c6a7571e034cbb5248d80178b7ec0ddc1ab7fcda7af25 |
Close
Hashes for spookyhash-2.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b243f6c617f3b948c61786550e26f03782aaddd0de5bd4381a4407d7334e43c3 |
|
MD5 | 69c9b9acb7615a51af427a217c114fa9 |
|
BLAKE2b-256 | 42f693c616c68c9a5fb8471ce3d0d9eba298cf7da08d36692223ee957355cc54 |
Close
Hashes for spookyhash-2.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b166eaed0fbac7f03dbb503d54e904dbb1b95cc2c8b2a5c7da5cf2d8eb86477f |
|
MD5 | bbb4b4c885c49e101e09256978293c2c |
|
BLAKE2b-256 | dc4ca4ed16a209c013309629533ab701c04414cb009a9e8c29dac88260a95e17 |
Close
Hashes for spookyhash-2.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc81fe947c25f0aa629c0112c793f436d556c87631fa5eaa93aa184ad0de19dd |
|
MD5 | 1daf07f54fa7973ea50532cdcefc24fd |
|
BLAKE2b-256 | bf540303908fe86c1628d3b64d8c8a5f1ff294f5ad5be6b85cd9618a5ecb3f55 |
Close
Hashes for spookyhash-2.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 749ec5d16137074394cb3b7ab808de68cc19169fdff0b67c9ac0a864c48f97bd |
|
MD5 | d8b3caf4ea3f80b40e7c0f086869ba51 |
|
BLAKE2b-256 | 4d33b49c5daefa33af999c7386dec7ea8790b842d19c7c9d35291a9cc3ad8a29 |
Close
Hashes for spookyhash-2.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d717667136d8a817d049ba2e44714342eca96bad3e2ec6d15a7e7ca38c59dc07 |
|
MD5 | 00c683b5ba9254e71c54b1a4bc7ddcba |
|
BLAKE2b-256 | 9c7543b7a5cd1ec1595c0ad622c950b3471f94a95c1e70c7b48bdb4e2aead6b5 |
Close
Hashes for spookyhash-2.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d158028018a1c980fb7d1531d0515eb17fc948d94319487a5a753930341799a |
|
MD5 | 6a8b82aeedb25a2fa35d39510f1423ca |
|
BLAKE2b-256 | 08a38f3ee34794cd28606c470ed3b6138998bbb9fb5b5c58bf17a6a68ecf7c5e |
Close
Hashes for spookyhash-2.1.0-cp39-cp39-macosx_12_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b72a0032d8e220bd943ee42d608540966dbdb4007083e2eba0136328fc42009f |
|
MD5 | 6a3ee615ba47952a466bbd00761d25b7 |
|
BLAKE2b-256 | 16f88b33104b3a038b1b5bc932a68f54848d3ce7dac1b60da7a37bbb1cc88fd9 |
Close
Hashes for spookyhash-2.1.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed198e692a24df99b7d3dd314bc10f4397615a12b4c3ef276216bfd3a0922f3a |
|
MD5 | cf36a3393c43f58cee895724eed0cc6a |
|
BLAKE2b-256 | 8b63613f87f910ae73e850904436465d9c0544a5149ac55e9af0af9de2132aa7 |
Close
Hashes for spookyhash-2.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22d8431e763c31fdd04bd3761f0698cb65bc03c6b86d71ade1f1112330bd9b8b |
|
MD5 | d90600f3dbd40303502e6f9832331c97 |
|
BLAKE2b-256 | be0adf251acd9888e86109d03e949fd29eb49a36602ed40dfe5419612a1746b0 |
Close
Hashes for spookyhash-2.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6449c893836338406a426d6f5bfe32065b67ccd726c62b8df9359f45411ae017 |
|
MD5 | 7ff9ba2f5dac8bcbb6a16f974615157f |
|
BLAKE2b-256 | 40aa8d0ddd7f6f4cdb89b4b16d229d24821c4a09b4b01064c24df6c247307e9e |
Close
Hashes for spookyhash-2.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72b7a63009b634ef901ec2f8121862ac03895c1089f0ce94e828003755f7df27 |
|
MD5 | 227a49e2f404cb077747d601e00c80ca |
|
BLAKE2b-256 | b7696bc688d5c457202863c3a5b669bce869db6ed4b0dff60904d70a1e09ae29 |
Close
Hashes for spookyhash-2.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 565c28a0a3c3af179411d9f5f429bc8da25dfd815c9be51536ccb9f0ada5240d |
|
MD5 | a0e7993f525ed331e4b7157641b79492 |
|
BLAKE2b-256 | dd112a76f0aca54b6bb5cabadd1480fe21c5111ad3db41186e992f7b7c757a31 |
Close
Hashes for spookyhash-2.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 089af38b0c897830ad1941d80994a1745701ce2942d652cc583a523b0741c862 |
|
MD5 | 13927fcbe08b563e261112f48db2411a |
|
BLAKE2b-256 | 53716f7168bcd1b0db37ac3ef66201859a901164daf79266b2b4463ca90f597f |
Close
Hashes for spookyhash-2.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f216ccbaa40ac05accccdce5195f15fdb6838b81a69e6dc55fc208a8b909513 |
|
MD5 | 0353671f15511f0ce933fae1f32f830d |
|
BLAKE2b-256 | 35cf5a1857b56be56029dfae878006b8648f948541c46332ac5a65e384034bdf |
Close
Hashes for spookyhash-2.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2a65f08267b4be0415ded210121b93c96754ddf8c830f211ae47b27b2bbdab1 |
|
MD5 | cdb2e33983234f821deaa4f1ffbd5e9a |
|
BLAKE2b-256 | 0f1ec6da5e66c4b693f412a1258d3962135c6fe1f31d24db9149324380edabb5 |
Close
Hashes for spookyhash-2.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 612df24854b1e254be6834a655b259021b25a7ce484c20d92b1836f9a14a6302 |
|
MD5 | 6bb7741fb6ab8e49d4adfdde7658adb2 |
|
BLAKE2b-256 | 0849e7d04ae7b5cc5b0a11e7d5098c7fb13675d52ded1f3de93a1c8ff488f769 |
Close
Hashes for spookyhash-2.1.0-cp38-cp38-macosx_12_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f5caf422d1717a2da0a3faccba2cc9bb4f78f7a1db102af058797d225e34684 |
|
MD5 | 731f660c53ebf58cc66d6ad3738fda59 |
|
BLAKE2b-256 | 6ea3b1b3dd575737a443332bb04dd16b9ca340ef38fbf76f2a12fd6e23062e3f |
Close
Hashes for spookyhash-2.1.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10cae9c852663ce349f22d11bfd869bb2a25b5ddc44cb067713a6972fc33711d |
|
MD5 | 4a97d9eae2cfca9c552dd503b6c07f96 |
|
BLAKE2b-256 | 80ae57982c8ecd22c3243d327aa5550d43c21816bff1cac2921f706ac05f5a3c |
Close
Hashes for spookyhash-2.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91496cb1cddf946b560d2056168e6cbbf99013a56dbf908af6cf13fc48eaea71 |
|
MD5 | c1422410db04981d1119f60c234522ba |
|
BLAKE2b-256 | 671bb23f982ad09efb68c44e560583f6e1c3038730b12a914afca470168b9d56 |
Close
Hashes for spookyhash-2.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5fb0b598365ed3350a790ca9c82969b6ca3452da3dc0e25956ba4749b88d0e6 |
|
MD5 | e2a1285e4aa187db128a09577a39cd8b |
|
BLAKE2b-256 | 5e5c978dcf79fc479bb5404b704726804e32c9f2030c9ec2da880d2b63a7e43e |
Close
Hashes for spookyhash-2.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d3228b4791c608a1ae52e663e8655b11982101c6ef6eb429f58ab9180620d9c |
|
MD5 | 409687393f3201f8ffd18085e11704e9 |
|
BLAKE2b-256 | eb15c34f31e65de0fbafdf37d0bf170b8768a0dda54a9d88c66aa50ffe689559 |
Close
Hashes for spookyhash-2.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebf80fa63818945080a9ce7e6412036d795db30ffad9427ccb85a44f11196606 |
|
MD5 | ff768101c01f835e77cfafdec49924eb |
|
BLAKE2b-256 | 26e2a0530671d3155faf463f30414fedcd9bd747b73441191b01f7aca87c0294 |
Close
Hashes for spookyhash-2.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c579c4459d31a14628651213eae612d7cd073e81963864fe25ed25b3f869c028 |
|
MD5 | d93d11703e834081b6f16799a7073d81 |
|
BLAKE2b-256 | da85e0084f3001e2a483bd6e648efd534318af9e30c51e92b31b6cb47298aa86 |
Close
Hashes for spookyhash-2.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c83dc720799443e25e778a03f6c09440c6f9eb91b27e3fbdc6b901430d2984a |
|
MD5 | 7ed92e0321adad39b6d38592e9c95945 |
|
BLAKE2b-256 | 47b3c439078e88e48753f5dfc8550c83519544f6182dce8c7b1233528b7c5093 |
Close
Hashes for spookyhash-2.1.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 172ce52a4dea064a8bde611ebdb7f3cdadbb99cc2205f1770a4b34aaeb0c32f4 |
|
MD5 | 198a5126edd38d6044d28c117ff41c3a |
|
BLAKE2b-256 | 0936a34aeaea8c2b810378b679c18359168dff4ecddac7c2ee5d7978f2f498f6 |
Close
Hashes for spookyhash-2.1.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | caff0801a12c30104890c286622fff6351fbcab35bf35b59fd4bad6bf0b8550d |
|
MD5 | a00491c8c1ad33d4432677d1d44e8c59 |
|
BLAKE2b-256 | d5e6f68115a652f2d324fc7f05e6d43afcb827a3d42a8f3a4557f7103c59a17e |