Introduction
Dans ce laboratoire, nous allons explorer la manière de hacher une chaîne de caractères en un nombre entier à l'aide de l'algorithme SDBM. Nous utiliserons String.prototype.split() et Array.prototype.reduce() pour créer un hachage de la chaîne d'entrée, en utilisant le décalage binaire. Le but de ce laboratoire est de vous présenter le concept de hachage et de montrer comment il peut être utilisé pour générer des identifiants uniques pour les données.
Comment hacher une chaîne de caractères en un nombre à l'aide de JavaScript
Pour hacher une chaîne d'entrée en un nombre entier à l'aide de JavaScript, suivez ces étapes :
- Ouvrez le Terminal/SSH et tapez
nodepour commencer à pratiquer la programmation. - Utilisez les méthodes
String.prototype.split()etArray.prototype.reduce()pour créer un hachage de la chaîne d'entrée, en utilisant le décalage binaire. - Voici le code pour la fonction
sdbmqui implémente l'algorithme de hachage :
const sdbm = (str) => {
let arr = str.split("");
return arr.reduce(
(hashCode, currentVal) =>
(hashCode =
currentVal.charCodeAt(0) +
(hashCode << 6) +
(hashCode << 16) -
hashCode),
0
);
};
- Pour tester la fonction, appelez-la avec un argument de chaîne de caractères :
sdbm("name"); // -3521204949
Cela retournera la valeur de hachage pour la chaîne d'entrée "name".
Sommaire
Félicitations ! Vous avez terminé le laboratoire Hash String Into Number. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.