• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

KarpelesLab / anyhash
87%

Build:
DEFAULT BRANCH: master
Repo Added 09 Apr 2026 05:31PM UTC
Token PLsgjTsNQ1vSPhIvnoD6QTjftj855nLt9 regen
Build 13 Last
Files 17
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: master
CHANGE BRANCH
x
Reset
Sync Branches
  • master

10 Apr 2026 06:45AM UTC coverage: 87.009% (+1.5%) from 85.529%
24230317918

push

github

MagicalTux
Fix xxh128 seed, murmur3c/f PHP carry encoding, xxh32/64 validation

- xxh128: the 17..128-byte path used (len * PRIME64_2) when computing the
  high 64 bits, missing the seed term. Use (len - seed) * PRIME64_2 per the
  XXH3 reference so non-zero seeds produce correct high bits.

- murmur3c / murmur3f MarshalPHP: encode the carry buffer into 4 uint32s
  (PHP_MURMUR3C_SPEC "lllllllll") / 2 uint64s (PHP_MURMUR3F_SPEC "qqqql")
  using PHP's high-byte shift-in packing, with the carry length stored in
  the low byte of the last carry per pcarry[i] = (k & ~0xff) | n. The old
  single-uint32 packing lost bytes beyond position 3 and misplaced slots.

- xxh32 / xxh64 UnmarshalPHP: validate the buffer length up front and
  return an error instead of panicking on the next Write when the state
  carries an out-of-range n.

Cross-validated bidirectionally against PHP 8.2 for murmur3c/f at every
partial length 1..30 and for xxh128 with seeds 42/123 in the 17..128 range.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

78 of 78 new or added lines in 2 files covered. (100.0%)

2793 of 3210 relevant lines covered (87.01%)

1121.37 hits per line

Relevant lines Covered
Build:
Build:
3210 RELEVANT LINES 2793 COVERED LINES
1121.37 HITS PER LINE
Source Files on master
  • Tree
  • List 17
  • Changed 3
  • Source Changed 2
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
24230317918 master Fix xxh128 seed, murmur3c/f PHP carry encoding, xxh32/64 validation - xxh128: the 17..128-byte path used (len * PRIME64_2) when computing the high 64 bits, missing the seed term. Use (len - seed) * PRIME64_2 per the XXH3 reference so non-zero... push 10 Apr 2026 06:45AM UTC MagicalTux github
87.01
24210909612 master Add seed and secret support for murmur3, xxh32, xxh64, xxh3, xxh128 New Options struct with Seed and Secret fields, passed via New(): h, _ := anyhash.New("murmur3a", anyhash.Options{Seed: 42}) h, _ := anyhash.New("xxh3", anyhash.Options{Seed:... push 09 Apr 2026 08:08PM UTC MagicalTux github
85.53
24210610619 master Refactor PHPMarshaler to use []any instead of ([]int32, []byte) Each state element is either int32 or []byte, matching PHP's HashContext serialization format exactly. This fixes MD5 where the buffer string appears at index 6 (middle of the array)... push 09 Apr 2026 08:01PM UTC MagicalTux github
86.07
24209997301 master Fix PHP cross-compatibility for md5, crc32b/c, murmur3a state encoding - MD5: read state words as big-endian from Go's binary format (was LE) - CRC32B/C: complement state during marshal/unmarshal (Go stores complemented CRC, PHP stores raw) - M... push 09 Apr 2026 07:47PM UTC MagicalTux github
86.2
24209478353 master Fix PHP marshal byte/bit count encoding PHP stores bit count (len*8) for most algorithms but byte count for MD5. Fix SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256, and MD4 codecs to correctly convert between Go's byte count ... push 09 Apr 2026 07:34PM UTC MagicalTux github
85.9
24207239202 master Add PHP marshaling for all remaining hash algorithms Complete PHPMarshaler implementation for all 57 serializable algorithms: md2, md4, md5, sha1, sha224, sha256, sha384, sha512, sha512/224, sha512/256, sha3-224, sha3-256, sha3-384, sha3-512, rip... push 09 Apr 2026 06:42PM UTC MagicalTux github
85.89
24206391850 master Add PHP-compatible MarshalPHP/UnmarshalPHP for hash state serialization Add PHPMarshaler interface and package-level MarshalPHP/UnmarshalPHP functions for transferring hash state between Go and PHP. Supported algorithms: crc32, crc32b, crc32c, a... push 09 Apr 2026 06:22PM UTC MagicalTux github
85.02
24204951809 master Add PHP-generated fox test vectors, fix xxh128 bugs - Add "The quick brown fox..." test vectors for all 60 algorithms - Fix xxh3Mix32 for 128-bit path: was missing XOR with raw input bytes - Fix xxh128 finalization: avalanche before negation, not... push 09 Apr 2026 05:49PM UTC MagicalTux github
85.2
24204422197 master CI: also test against Go 1.26 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> push 09 Apr 2026 05:37PM UTC MagicalTux github
74.07
24204412302 master Update GitHub Actions to Node 24 compatible versions actions/checkout v4 → v6, actions/setup-go v5 → v6 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> push 09 Apr 2026 05:37PM UTC MagicalTux github
74.07
See All Builds (13)

Badge your Repo: anyhash

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc