Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MurmurHash2 64-bit (MurmurHash64A) #3953

Open
gibbed opened this issue Feb 22, 2024 · 0 comments
Open

MurmurHash2 64-bit (MurmurHash64A) #3953

gibbed opened this issue Feb 22, 2024 · 0 comments

Comments

@gibbed
Copy link

gibbed commented Feb 22, 2024

Is your request based on a publicly known cryptographic schema and where can we find information about?

https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L96-L137

Notably the architecture where this algorithm is used originally is little-endian.

Describe alternatives you've considered

Implemented my own tool for validating known names against all hashes found to maintain lists of valid names, but the objective of that tool isn't really brute forcing so it's not optimized for speed.

Provide an example hash/database/file and a known correct password

seed is typically left as default 0. The following examples are with a seed of 0.

The hashes here are uint64 values in hex, not raw bytes.

bca0ea9bbcb1a2f0 packages/pre_boot
9ba626afa44a3aa3 packages/boot
495cd5b6043a104d packages/fallback_resources
47b52d27d6d842ee core/stingray_renderer/shading_environment_components/global_lighting
a14e8dfa2cd117e2 lua

Where do you typically find the algorithm

It's used in games as a string hashing algorithm for resource related strings (file names, file types, etc) for quick lookup of resources within an archive bundle. The original names are not typically retained in release builds of those games.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant