🔢 Non-cryptographic hash to verify data integrity. 7 Commits
2023-07-23 21:16:37 +02:00
.editorconfig Implemented basic hashing 2023-07-22 17:02:22 +02:00
.gitignore Implemented basic hashing 2023-07-22 17:02:22 +02:00
Benchmarks_test.go Improved benchmarks 2023-07-23 21:16:37 +02:00
go.mod Implemented basic hashing 2023-07-22 17:02:22 +02:00
hash_test.go Added distribution test 2023-07-23 20:58:26 +02:00
hash.go Added more tests 2023-07-23 11:40:22 +02:00
LICENSE Implemented basic hashing 2023-07-22 17:02:22 +02:00
README.md Improved benchmarks 2023-07-23 21:16:37 +02:00

hash

This is a non-cryptographic hash (aka checksum) to verify data integrity.

API

sum := hash.Bytes(data)

You can use strconv.FormatUint(sum, 16) to get a string in hexadecimal format.

Benchmarks

BenchmarkSize/___7-12           144845362                8.282 ns/op
BenchmarkSize/___8-12           318401613                3.779 ns/op
BenchmarkSize/__16-12           273568264                4.400 ns/op
BenchmarkSize/__17-12           222336567                5.425 ns/op
BenchmarkSize/__32-12           191413396                6.266 ns/op
BenchmarkSize/__33-12           167791207                7.064 ns/op
BenchmarkSize/__64-12           224622992                5.320 ns/op
BenchmarkSize/__65-12           211713483                5.735 ns/op
BenchmarkSize/_128-12           137411010                8.735 ns/op
BenchmarkSize/_256-12           58641082                20.34 ns/op
BenchmarkSize/_512-12           22842753                54.89 ns/op
BenchmarkSize/1024-12            8913499               134.5 ns/op
BenchmarkSize/2048-12            4074927               294.5 ns/op
BenchmarkSize/4096-12            1952067               625.4 ns/op