Skip to content

Instantly share code, notes, and snippets.

@thejsj
Last active September 11, 2021 03:59
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save thejsj/481602b414c2f8defd03d41a23c255d8 to your computer and use it in GitHub Desktop.
Save thejsj/481602b414c2f8defd03d41a23c255d8 to your computer and use it in GitHub Desktop.
Pearson Hashing Function
'use strict'
// Ideally, this table would be shuffled...
// 256 will be the highest value provided by this hashing function
let table = [...new Array(256)].map((_, i) => i)
const hash8 = (message, table) => {
return message.split('').reduce((hash, c) => {
return table[(hash + c.charCodeAt(0)) % (table.length - 1)]
}, message.length % (table.length - 1))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment