BKDRHash php兑现
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?>

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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 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

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__? 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()))>>>

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

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

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

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
