BKDRHash php兑现

Jun 13, 2016 am 11:02 AM
floatval hash str

BKDRHash php实现
接上一帖 BKDRHash的php实现 比c语言版本复杂的部分,是由于php中整型数的范围是,且一定是-2147483648 到2147483647,并且没有无符号整形数,在算法中会出现大数溢出的问题,不能使用intval,需要用floatval,同时在运算过程中取余保证不溢出。

<?phpfunction BKDRHash($str){	$seed = 131; // 31 131 1313 13131 131313 etc..	$hash = 0;		$cnt = strlen($str);	for($i = 0; $i < $cnt; $i++)	{				$hash = ((floatval($hash * $seed) & 0x7FFFFFFF) + ord($str[$i])) & 0x7FFFFFFF;			}	return ($hash & 0x7FFFFFFF);}echo BKDRHash('ggsonic');//1471979560echo BKDRHash('asdfasdfasdf123'); // 1220655578?>
Copier après la connexion

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment implémenter l'opération Redis Hash en php Comment implémenter l'opération Redis Hash en php May 30, 2023 am 08:58 AM

Opération de hachage //Attribuez des valeurs aux champs de la table de hachage. Renvoie 1 en cas de succès et 0 en cas d'échec. Si la table de hachage n'existe pas, la table sera créée en premier puis la valeur sera attribuée. Si le champ existe déjà, l'ancienne valeur sera écrasée. $ret=$redis->hSet('user','realname','jetwu');//Obtenir la valeur du champ spécifié dans la table de hachage. Si la table de hachage n'existe pas, renvoyez false. $ret=$redis->hGet('utilisateur','rea

Développement Laravel : Comment générer un hachage de mot de passe à l'aide de Laravel Hash ? Développement Laravel : Comment générer un hachage de mot de passe à l'aide de Laravel Hash ? Jun 17, 2023 am 10:59 AM

Laravel est actuellement l'un des frameworks Web PHP les plus populaires, offrant aux développeurs de nombreuses fonctionnalités et composants puissants, dont LaravelHash est l'un d'entre eux. LaravelHash est une bibliothèque PHP pour le hachage de mots de passe qui peut être utilisée pour sécuriser les mots de passe et rendre plus sécurisées les données utilisateur de votre application. Dans cet article, nous apprendrons comment fonctionne LaravelHash et comment l'utiliser pour hacher et vérifier les mots de passe. Connaissances préalables à l'apprentissage de Lara

Analyse du code source str de type Python intégré Analyse du code source str de type Python intégré May 09, 2023 pm 02:16 PM

1L'unité de base du stockage informatique Unicode est l'octet, composé de 8 bits. Étant donné que l'anglais ne comprend que 26 lettres et un certain nombre de symboles, les caractères anglais peuvent être stockés directement en octets. Mais d'autres langues (comme le chinois, le japonais, le coréen, etc.) doivent utiliser plusieurs octets pour le codage en raison du grand nombre de caractères. Avec la diffusion de la technologie informatique, la technologie de codage des caractères non latins continue de se développer, mais il existe encore deux limitations majeures : pas de support multilingue : le schéma de codage d'une langue ne peut pas être utilisé dans une autre langue et il n'existe pas de norme unifiée : par exemple, il existe de nombreuses normes d'encodage en chinois telles que GBK, GB2312, GB18030, etc. Étant donné que les méthodes d'encodage ne sont pas unifiées, les développeurs doivent effectuer des conversions entre différents encodages, et de nombreuses erreurs se produiront inévitablement.

Quelles sont les similitudes et les différences entre __str__ et __repr__ en Python ? Quelles sont les similitudes et les différences entre __str__ et __repr__ en Python ? Apr 29, 2023 pm 07:58 PM

Quelles sont les similitudes et les différences entre __str__ et __repr__ ? Nous connaissons tous la représentation des chaînes. La fonction intégrée repr() de Python peut exprimer des objets sous forme de chaînes pour faciliter notre identification. Il s'agit de la "représentation sous forme de chaîne". repr() obtient la représentation sous forme de chaîne d'un objet via la méthode spéciale __repr__. Si __repr__ n'est pas implémenté, lorsque nous imprimons une instance d'un vecteur sur la console, la chaîne résultante peut l'être. >>>classExample:pass>>>print(str(Example()))>>>

Comprendre l'algorithme de hachage et les scénarios d'application dans un seul article Comprendre l'algorithme de hachage et les scénarios d'application dans un seul article Apr 13, 2023 am 11:55 AM

1. Qu'est-ce qu'un algorithme de hachage ? Le hachage et le hachage proviennent du mot hash. Le premier est une translittération et le second est une traduction libre. Il s'agit d'un algorithme qui peut mapper une valeur binaire de n'importe quelle longueur en une valeur binaire de longueur fixe. La valeur binaire de longueur fixe mappée est appelée valeur de hachage. Un excellent algorithme de hachage doit répondre aux exigences suivantes : il ne peut pas déduire inversement les données originales de la valeur de hachage, il est très sensible aux données d'entrée, et un bit différent entraînera une valeur de hachage très différente ; le conflit doit être très faible ; le processus de calcul de l'algorithme de hachage doit être suffisamment simple et efficace, même si les données originales sont très longues, la valeur de hachage peut être obtenue rapidement 2. Scénarios d'utilisation de l'algorithme de hachage 2.1 Cryptage sécurisé Plus ; les algorithmes de chiffrement de hachage courants incluent MD5 ( MD5 Message-Dige

Convertir une variable en float en utilisant la fonction PHP 'floatval' Convertir une variable en float en utilisant la fonction PHP 'floatval' Jul 24, 2023 pm 11:57 PM

Convertir une variable en type virgule flottante à l'aide de la fonction PHP "floatval" En PHP, nous avons souvent besoin de convertir une variable en type virgule flottante. Ceci est utile lorsqu'il s'agit de calculs numériques, de transactions en devises, etc. PHP fournit une fonction intégrée appelée « floatval » qui peut nous aider à convertir rapidement des variables en types à virgule flottante. La syntaxe de la fonction "floatval" est la suivante : floatval(mixed$var) : La fonction float accepte un paramètre $var

Utilisez-le tous les jours ! Savez-vous ce qu'est le HASH ? Utilisez-le tous les jours ! Savez-vous ce qu'est le HASH ? Jul 26, 2023 pm 02:47 PM

L'idée principale de la méthode de hachage est de déterminer l'adresse de stockage du nœud en fonction de sa valeur clé : en prenant la valeur clé K comme variable indépendante, et via une certaine relation fonctionnelle h(K) (appelée fonction de hachage) , le correspondant La valeur de la fonction vient

Analyse d'exemples d'opérations courantes de Hash, le type de données de base de Redis Analyse d'exemples d'opérations courantes de Hash, le type de données de base de Redis May 31, 2023 am 10:43 AM

Opérations courantes du type de données Redis Hash Hash dans Redis est une table de mappage de champs et de valeurs de type chaîne. Particulièrement adapté au stockage d’objets, chaque hachage peut stocker plus de 4 milliards de paires clé-valeur. Les chaussures pour enfants qui connaissent le python peuvent le considérer comme un dictionnaire. Le stockage de type de données précédent était k-v, et le stockage de hachage est k-dict, et le dict aura son propre k-v. 1. hset attribue des valeurs aux champs de la table de hachage. Si la table de hachage n'existe pas, créez une nouvelle table de hachage et effectuez l'opération hset. Si le champ existe déjà dans la table de hachage, l'ancienne valeur sera écrasée. hsetmyhashk1v1 deux, h

See all articles