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?>
Nach dem Login kopieren

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So implementieren Sie die Redis-Hash-Operation in PHP So implementieren Sie die Redis-Hash-Operation in PHP May 30, 2023 am 08:58 AM

Hash-Operation // Weisen Sie den Feldern in der Hash-Tabelle Werte zu. Gibt 1 bei Erfolg und 0 bei Fehler zurück. Wenn die Hash-Tabelle nicht vorhanden ist, wird die Tabelle zuerst erstellt und dann der Wert zugewiesen. Wenn das Feld bereits vorhanden ist, wird der alte Wert überschrieben. $ret=$redis->hSet('user','realname','jetwu');//Den Wert des angegebenen Felds in der Hash-Tabelle abrufen. Wenn die Hash-Tabelle nicht existiert, geben Sie „false“ zurück. $ret=$redis->hGet('user','rea

Laravel-Entwicklung: Wie generiert man einen Passwort-Hash mit Laravel Hash? Laravel-Entwicklung: Wie generiert man einen Passwort-Hash mit Laravel Hash? Jun 17, 2023 am 10:59 AM

Laravel ist derzeit eines der beliebtesten PHP-Webframeworks und bietet Entwicklern viele leistungsstarke Funktionen und Komponenten, zu denen auch LaravelHash gehört. LaravelHash ist eine PHP-Bibliothek für Passwort-Hashing, mit der Sie Passwörter schützen und die Benutzerdaten Ihrer Anwendung sicherer machen können. In diesem Artikel erfahren wir, wie LaravelHash funktioniert und wie man es zum Hashen und Überprüfen von Passwörtern verwendet. Vorkenntnisse im Lernen von Lara sind erforderlich

In Python integrierte Quellcodeanalyse vom Typ str In Python integrierte Quellcodeanalyse vom Typ str May 09, 2023 pm 02:16 PM

1Die Grundeinheit des Unicode-Computerspeichers ist das Byte, das aus 8 Bits besteht. Da Englisch nur aus 26 Buchstaben plus einer Reihe von Symbolen besteht, können englische Zeichen direkt in Bytes gespeichert werden. Andere Sprachen (wie Chinesisch, Japanisch, Koreanisch usw.) müssen jedoch aufgrund der großen Anzahl von Zeichen mehrere Bytes für die Codierung verwenden. Mit der Verbreitung der Computertechnologie entwickelt sich die Technologie zur Kodierung nicht-lateinischer Zeichen weiter, es gibt jedoch immer noch zwei wesentliche Einschränkungen: keine Unterstützung mehrerer Sprachen: Das Kodierungsschema einer Sprache kann nicht in einer anderen Sprache verwendet werden und es gibt keinen einheitlichen Standard: Beispielsweise gibt es auf Chinesisch viele Codierungsstandards wie GBK, GB2312, GB18030 usw. Da die Codierungsmethoden nicht einheitlich sind, müssen Entwickler zwischen verschiedenen Codierungen hin und her konvertieren, und es treten zwangsläufig viele Fehler auf.

Was sind die Gemeinsamkeiten und Unterschiede zwischen __str__ und __repr__ in Python? Was sind die Gemeinsamkeiten und Unterschiede zwischen __str__ und __repr__ in Python? Apr 29, 2023 pm 07:58 PM

Was sind die Gemeinsamkeiten und Unterschiede zwischen __str__ und __repr__? Wir alle wissen, dass die in Python integrierte Funktion repr() Objekte in Form von Zeichenfolgen ausdrücken kann, um unsere Identifizierung zu erleichtern. Dies ist die „String-Darstellung“. repr() erhält die String-Darstellung eines Objekts über die spezielle Methode __repr__. Wenn __repr__ nicht implementiert ist und wir eine Instanz eines Vektors auf der Konsole ausgeben, kann die resultierende Zeichenfolge sein. >>>classExample:pass>>>print(str(Example()))>>>

Verstehen Sie den Hash-Algorithmus und Anwendungsszenarien in einem Artikel Verstehen Sie den Hash-Algorithmus und Anwendungsszenarien in einem Artikel Apr 13, 2023 am 11:55 AM

1. Was ist ein Hashing-Algorithmus? Sowohl Hashing als auch Hashing stammen aus dem Wort Hash. Ersteres ist eine Transliteration und letzteres ist eine freie Übersetzung. Es handelt sich um einen Algorithmus, der einen Binärwert beliebiger Länge in einen Binärwert fester Länge abbilden kann. Der abgebildete Binärwert fester Länge wird als Hash-Wert bezeichnet. Ein ausgezeichneter Hash-Algorithmus muss die folgenden Anforderungen erfüllen: Er kann die Originaldaten nicht rückwärts aus dem Hash-Wert ableiten. Er reagiert sehr empfindlich auf die Eingabedaten und ein anderes Bit führt zu einer sehr unterschiedlichen Hash-Wahrscheinlichkeit Der Konflikt muss sehr gering sein. Der Berechnungsprozess des Hash-Algorithmus muss einfach und effizient genug sein. Auch wenn die Originaldaten sehr lang sind, kann der Hash-Wert schnell ermittelt werden. 2. Verwendungsszenarien des Hash-Algorithmus 2.1 Sichere Verschlüsselung Zu den gängigen Hash-Verschlüsselungsalgorithmen gehört MD5 ( MD5 Message-Dige

Variable mit der PHP-Funktion „floatval' in Float konvertieren Variable mit der PHP-Funktion „floatval' in Float konvertieren Jul 24, 2023 pm 11:57 PM

Konvertieren Sie eine Variable mit der PHP-Funktion „floatval“ in einen Gleitkommatyp. In PHP müssen wir häufig eine Variable in einen Gleitkommatyp konvertieren. Dies ist nützlich, wenn Sie numerische Berechnungen, Währungstransaktionen usw. durchführen. PHP bietet eine integrierte Funktion namens „floatval“, die uns dabei helfen kann, Variablen schnell in Gleitkommatypen zu konvertieren. Die Syntax der Funktion „floatval“ lautet wie folgt: floatval(mixed$var): Die Funktion float akzeptiert einen Parameter $var

Analyse gängiger Betriebsbeispiele von Hash, dem grundlegenden Datentyp von Redis Analyse gängiger Betriebsbeispiele von Hash, dem grundlegenden Datentyp von Redis May 31, 2023 am 10:43 AM

Häufige Operationen des Redis-Datentyps Hash Hash in Redis ist eine Zuordnungstabelle von Feldern und Werten vom Typ Zeichenfolge. Besonders geeignet zum Speichern von Objekten, jeder Hash kann mehr als 4 Milliarden Schlüssel-Wert-Paare speichern. Kinderschuhe, die mit Python vertraut sind, können es sich als Wörterbuchdiktat vorstellen. Der vorherige Datentypspeicher war k-v, und der Hash-Speicher war k-dict, und das Diktat verfügt über ein eigenes k-v. 1. hset weist den Feldern in der Hash-Tabelle Werte zu. Wenn die Hash-Tabelle nicht vorhanden ist, erstellen Sie eine neue Hash-Tabelle und führen Sie die hset-Operation aus. Wenn das Feld bereits in der Hash-Tabelle vorhanden ist, wird der alte Wert überschrieben. hsetmyhashk1v1 zwei, h

Benutze es jeden Tag! Wissen Sie, was HASH ist? Benutze es jeden Tag! Wissen Sie, was HASH ist? Jul 26, 2023 pm 02:47 PM

Die Hauptidee der Hashing-Methode besteht darin, die Speicheradresse des Knotens anhand seines Schlüsselwerts zu bestimmen: Nehmen Sie den Schlüsselwert K als unabhängige Variable und verwenden Sie eine bestimmte funktionale Beziehung h (K) (eine sogenannte Hash-Funktion). , das entsprechende Der Funktionswert kommt

See all articles