Skip to content

Instantly share code, notes, and snippets.

@ChrisCates
Last active October 17, 2023 05:10
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save ChrisCates/b4c0c54aadff9195ea71d83c65d5af2d to your computer and use it in GitHub Desktop.
Save ChrisCates/b4c0c54aadff9195ea71d83c65d5af2d to your computer and use it in GitHub Desktop.
Emoji in a SHA like format.
let emoji_list = [
"๐Ÿ˜€", "๐Ÿ˜ƒ", "๐Ÿ˜„", "๐Ÿ˜", "๐Ÿ˜†", "๐Ÿ˜…", "๐Ÿ˜‚", "๐Ÿคฃ", "๐Ÿ˜Š", "๐Ÿ˜‡", "๐Ÿ™‚", "๐Ÿ™ƒ", "๐Ÿ˜‰", "๐Ÿ˜Œ", "๐Ÿ˜", "๐Ÿ˜˜", "๐Ÿ˜—", "๐Ÿ˜š", "๐Ÿ˜‹",
"๐Ÿ˜œ", "๐Ÿ˜", "๐Ÿ˜›", "๐Ÿค‘", "๐Ÿค—", "๐Ÿค“", "๐Ÿ˜Ž", "๐Ÿคก", "๐Ÿค ", "๐Ÿ˜", "๐Ÿ˜’", "๐Ÿ˜ž", "๐Ÿ˜”", "๐Ÿ˜Ÿ", "๐Ÿ˜•", "๐Ÿ™", "โ˜น๏ธ", "๐Ÿ˜ฃ", "๐Ÿ˜–", "๐Ÿ˜ซ", "๐Ÿ˜ฉ",
"๐Ÿ˜ค", "๐Ÿ˜ ", "๐Ÿ˜ก", "๐Ÿ˜ถ", "๐Ÿ˜", "๐Ÿ˜‘", "๐Ÿ˜ฏ", "๐Ÿ˜ฆ", "๐Ÿ˜ง", "๐Ÿ˜ฎ", "๐Ÿ˜ฒ", "๐Ÿ˜ต", "๐Ÿ˜ณ", "๐Ÿ˜ฑ", "๐Ÿ˜จ", "๐Ÿ˜ฐ", "๐Ÿ˜ข", "๐Ÿ˜ฅ", "๐Ÿคค", "๐Ÿ˜ญ", "๐Ÿ˜“",
"๐Ÿ˜ช", "๐Ÿ˜ด", "๐Ÿ™„", "๐Ÿค”", "๐Ÿคฅ", "๐Ÿ˜ฌ", "๐Ÿค", "๐Ÿคข", "๐Ÿคง", "๐Ÿ˜ท", "๐Ÿค’", "๐Ÿค•", "๐Ÿ˜ˆ", "๐Ÿ‘ฟ", "๐Ÿ‘น", "๐Ÿ‘บ", "๐Ÿ’ฉ", "๐Ÿ‘ป", "๐Ÿ’€", "โ˜ ๏ธ", "๐Ÿ‘ฝ",
"๐Ÿ‘พ", "๐Ÿค–", "๐ŸŽƒ", "๐Ÿ˜บ", "๐Ÿ˜ธ", "๐Ÿ˜น", "๐Ÿ˜ป", "๐Ÿ˜ผ", "๐Ÿ˜ฝ", "๐Ÿ™€", "๐Ÿ˜ฟ", "๐Ÿ˜พ", "๐Ÿ‘", "๐Ÿ™Œ", "๐Ÿ‘", "๐Ÿ™", "๐Ÿค", "๐Ÿ‘", "๐Ÿ‘Ž", "๐Ÿ‘Š", "โœŠ",
"๐Ÿค›", "๐Ÿคœ", "๐Ÿคž", "โœŒ๏ธ", "๐Ÿค˜", "๐Ÿ‘Œ", "๐Ÿ‘ˆ", "๐Ÿ‘‰", "๐Ÿ‘†", "๐Ÿ‘‡", "โ˜๏ธ", "โœ‹", "๐Ÿคš", "๐Ÿ–", "๐Ÿ––", "๐Ÿ‘‹", "๐Ÿค™", "๐Ÿ’ช", "๐Ÿ–•", "โœ๏ธ", "๐Ÿคณ",
"๐Ÿ’…", "๐Ÿ––", "๐Ÿ’„", "๐Ÿ’‹", "๐Ÿ‘„", "๐Ÿ‘…", "๐Ÿ‘‚", "๐Ÿ‘ƒ", "๐Ÿ‘ฃ", "๐Ÿ‘", "๐Ÿ‘€", "๐Ÿ—ฃ", "๐Ÿ‘ค", "๐Ÿ‘ฅ", "๐Ÿ‘ถ", "๐Ÿ‘ฆ", "๐Ÿ‘ง", "๐Ÿ‘จ", "๐Ÿ‘ฉ", "๐Ÿ‘ฑ"
];
function hash (message, len) {
var m = message.split("");
var length = len || m.length;
var m_compressed = [];
var hash = "";
var pos = 0;
for (i = 0; i < length; i++) {
if (pos > m.length - 1) {
pos = 0;
}
m_compressed.push(m[pos].charCodeAt(0));
pos++;
}
for (i = 0; i < m_compressed.length; i++) {
var value = ((m_compressed[i] << 6) + (m_compressed[i] << 16) - i) % 144;
hash = hash + emoji_list[value];
}
return hash;
}
module.exports = hash;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment