171 votes

Simple (non sécurisée) fonction de hachage pour le JavaScript?

Double Possible:
Générer un Hachage de chaîne de caractères en Javascript/jQuery

Quelqu'un peut-il suggérer une simple (c'est à dire des dizaines de lignes de code, pas des centaines de lignes) en fonction de hachage écrit dans (navigateur compatible avec JavaScript? Idéalement, je voudrais quelque chose qui, lorsqu'il est passé d'une chaîne de caractères en entrée, produit quelque chose de semblable à 32 caractères hexadécimaux de chaîne de caractères qui est le résultat typique de MD5, SHA1, etc. Il n'a pas à être cryptographiquement sûr, juste raisonnablement résistant aux collisions. (Mon premier cas d'utilisation d'Url, mais je vais probablement vous souhaitez l'utiliser sur d'autres chaînes dans l'avenir.)

182voto

Barak Points 334

Je n'ai pas vérifier moi-même, mais vous pouvez toujours regarder JavaScript mise en œuvre de Java de la Chaîne.hashCode() de la méthode. Semble raisonnablement court.

15voto

silex Points 2137

Il existe de nombreuses réalisations de fonctions de hachage écrit en JS. Par exemple:

Si vous n'avez pas besoin de sécurité, vous pouvez également utiliser base64 qui n'est pas fonction de hachage, n'a pas de sortie fixe et peut simplement être décodé par l'utilisateur, mais c'est plus léger et peut être utilisé pour masquer les valeurs: http://www.webtoolkit.info/javascript-base64.html

6voto

Stefan Filip Points 765

Découvrez ces implémentations

4voto

Tom Points 8420

Cet article explique simples fonctions de hachage dans le détail et fournit un exemple de code (en C) qui n'est pas très compliqué. Ressemble à Bob Jenkins fonction de hachage peut être appropriée pour vos besoins (ce Dr Dobbs l'article a plus de détails et une enquête sur les autres fonctions de hachage, à la fois de ce qui pourrait être utile).

1voto

jsalonen Points 9651

Découvrez cette MD5 mise en œuvre pour le JavaScript. Son sous Licence BSD et vraiment facile à utiliser. Exemple:

md5 = hex_md5("message to digest")

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X