Add a function for getting a quick hash/checksum

16 bits ought to be enough for anything
This commit is contained in:
Aaron Gyes 2021-10-31 03:53:37 -07:00
parent 1b6ef6670f
commit 6858abac04

View file

@ -0,0 +1,10 @@
function fish_fletcher16 --argument input -d "compute a fletcher 16 checksum"
set -l sum1 0
set -l sum2 0
for char in (string split '' $input)
set -l ordinal (printf %2u "'$char")
math "($sum1 + $ordinal)" % 255 | read sum1
math "($sum2 + $sum1)" % 255 | read sum2
end
math "bitor $sum1,$(math $sum2 '*' pow 2,8)"
end