Add README.md for each library module documenting API, platform backends, and usage. Add .gitignore for build artifacts. Remove pre-built binaries from version control. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
20 lines
667 B
Markdown
20 lines
667 B
Markdown
# libsst-crypto
|
|
|
|
Lightweight string hashing functions for hash tables and name interning.
|
|
|
|
## Hash functions
|
|
|
|
| Function | Output | Description |
|
|
|---|---|---|
|
|
| `SST_Crypto_HashDJB2` | 64-bit | djb2 hash variant |
|
|
| `SST_Crypto_HashJ6` | 32-bit | Java 6 String hash |
|
|
| `SST_Crypto_HashJCR2` | 64-bit | Collision-free up to length 8 for ASCII |
|
|
| `SST_Crypto_HashSDBM` | 32-bit | sdbm hash (Berkeley DB) |
|
|
| `SST_Crypto_HashCRC32` | 32-bit | CRC-32C checksum |
|
|
|
|
All functions take `(const char* string, size_t len)`.
|
|
|
|
Types: `SST_HashValue32` (`uint32_t`), `SST_HashValue64` (`uint64_t`).
|
|
|
|
These are non-cryptographic hashes intended for fast lookups, not security.
|