Хеширование строки в число

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом лабораторном задании мы изучим, как хешировать строку в целое число с использованием алгоритма SDBM. Мы будем использовать String.prototype.split() и Array.prototype.reduce() для создания хеша входной строки, используя битовые сдвиги. Цель этого лабораторного задания - познакомить вас с концепцией хеширования и с тем, как его можно использовать для генерации уникальных идентификаторов для данных.

Как хешировать строку в число с использованием JavaScript

Для хеширования входной строки в целое число с использованием JavaScript выполните следующие шаги:

  1. Откройте Терминал/SSH и введите node, чтобы начать практиковать программирование.
  2. Используйте методы String.prototype.split() и Array.prototype.reduce() для создания хеша входной строки, используя битовые сдвиги.
  3. Вот код функции sdbm, которая реализует алгоритм хеширования:
const sdbm = (str) => {
  let arr = str.split("");
  return arr.reduce(
    (hashCode, currentVal) =>
      (hashCode =
        currentVal.charCodeAt(0) +
        (hashCode << 6) +
        (hashCode << 16) -
        hashCode),
    0
  );
};
  1. Чтобы протестировать функцию, вызовите ее с аргументом-строкой:
sdbm("name"); // -3521204949

Это вернет хеш-значение для входной строки "name".

Резюме

Поздравляем! Вы завершили лабораторную работу "Хеширование строки в число". Вы можете практиковать в более лабораторных работах в LabEx, чтобы улучшить свои навыки.