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?>
Salin selepas log masuk

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melaksanakan operasi Redis Hash dalam php Bagaimana untuk melaksanakan operasi Redis Hash dalam php May 30, 2023 am 08:58 AM

Operasi cincang //Tetapkan nilai pada medan dalam jadual cincang. Mengembalikan 1 pada kejayaan dan 0 pada kegagalan. Jika jadual cincang tidak wujud, jadual akan dibuat dahulu dan kemudian nilai akan diberikan Jika medan sudah wujud, nilai lama akan ditimpa. $ret=$redis->hSet('user','realname','jetwu');//Dapatkan nilai medan yang ditentukan dalam jadual cincang. Jika jadual cincang tidak wujud, kembalikan palsu. $ret=$redis->hGet('user','rea

Pembangunan Laravel: Bagaimana untuk menjana hash kata laluan menggunakan Laravel Hash? Pembangunan Laravel: Bagaimana untuk menjana hash kata laluan menggunakan Laravel Hash? Jun 17, 2023 am 10:59 AM

Laravel kini merupakan salah satu rangka kerja web PHP yang paling popular, menyediakan pembangun dengan banyak ciri dan komponen yang berkuasa, yang mana LaravelHash adalah salah satu daripadanya. LaravelHash ialah perpustakaan PHP untuk pencincangan kata laluan yang boleh digunakan untuk memastikan kata laluan selamat dan menjadikan data pengguna aplikasi anda lebih selamat. Dalam artikel ini, kita akan mempelajari cara LaravelHash berfungsi dan cara menggunakannya untuk mencincang dan mengesahkan kata laluan. Pengetahuan prasyarat dalam pembelajaran Lara

Analisis kod sumber str jenis terbina dalam Python Analisis kod sumber str jenis terbina dalam Python May 09, 2023 pm 02:16 PM

1Unit asas storan komputer Unicode ialah bait, yang terdiri daripada 8 bit. Memandangkan bahasa Inggeris hanya terdiri daripada 26 huruf ditambah beberapa simbol, aksara Inggeris boleh disimpan terus dalam bait. Tetapi bahasa lain (seperti Cina, Jepun, Korea, dll.) perlu menggunakan berbilang bait untuk pengekodan kerana bilangan aksara yang banyak. Dengan penyebaran teknologi komputer, teknologi pengekodan aksara bukan Latin terus berkembang, tetapi masih terdapat dua batasan utama: tiada sokongan berbilang bahasa: skema pengekodan satu bahasa tidak boleh digunakan dalam bahasa lain dan tiada standard bersatu: contohnya Terdapat banyak piawaian pengekodan dalam bahasa Cina seperti GBK, GB2312, GB18030, dsb. Memandangkan kaedah pengekodan tidak bersatu, pembangun perlu menukar berulang-alik antara pengekodan yang berbeza, dan banyak ralat pasti akan berlaku.

Apakah persamaan dan perbezaan antara __str__ dan __repr__ dalam Python? Apakah persamaan dan perbezaan antara __str__ dan __repr__ dalam Python? Apr 29, 2023 pm 07:58 PM

Apakah persamaan dan perbezaan antara __str__ dan __repr__? Kita semua tahu perwakilan rentetan fungsi repr() boleh menyatakan objek dalam bentuk rentetan untuk memudahkan pengenalan kita. Ini ialah "perwakilan rentetan". repr() mendapatkan perwakilan rentetan objek melalui kaedah khas __repr__. Jika __repr__ tidak dilaksanakan, apabila kita mencetak contoh vektor ke konsol, rentetan yang terhasil mungkin. >>>classContoh:lulus>>>cetak(str(Contoh()))>>>

Fahami algoritma Hash dan senario aplikasi dalam satu artikel Fahami algoritma Hash dan senario aplikasi dalam satu artikel Apr 13, 2023 am 11:55 AM

1. Apakah algoritma pencincangan? Kedua-dua pencincangan dan pencincangan berasal daripada perkataan pencincangan yang pertama ialah transliterasi dan yang kedua ialah terjemahan percuma. Ia adalah algoritma yang boleh memetakan nilai perduaan sebarang panjang ke dalam nilai perduaan panjang tetap Nilai perduaan panjang tetap dipetakan dipanggil nilai cincang. Algoritma cincang yang sangat baik perlu memenuhi keperluan berikut: ia tidak boleh menyimpulkan secara terbalik data asal daripada nilai cincang ia sangat sensitif kepada data input, dan bit yang berbeza akan menyebabkan nilai cincang menjadi sangat berbeza; konflik mestilah Sangat kecil; proses pengiraan algoritma cincang mestilah mudah dan cekap, walaupun data asal adalah sangat panjang, nilai cincang boleh diperolehi dengan cepat 2. Senario penggunaan algoritma cincang 2.1 Penyulitan selamat algoritma penyulitan cincang biasa termasuk MD5 ( MD5 Message-Dige

Gunakan setiap hari! Adakah anda tahu apa itu HASH? Gunakan setiap hari! Adakah anda tahu apa itu HASH? Jul 26, 2023 pm 02:47 PM

Idea utama kaedah cincang adalah untuk menentukan alamat storan nod berdasarkan nilai kuncinya: mengambil nilai kunci K sebagai pembolehubah bebas, dan melalui hubungan fungsi tertentu h(K) (dipanggil fungsi cincang) , nilai fungsi yang sepadan datang

Tukar pembolehubah kepada terapung menggunakan fungsi PHP 'floatval' Tukar pembolehubah kepada terapung menggunakan fungsi PHP 'floatval' Jul 24, 2023 pm 11:57 PM

Tukar pembolehubah kepada jenis titik terapung menggunakan fungsi PHP "floatval" Dalam PHP, kita selalunya perlu menukar pembolehubah kepada jenis titik terapung. Ini berguna apabila berurusan dengan pengiraan berangka, urus niaga mata wang, dsb. PHP menyediakan fungsi terbina dalam yang dipanggil "floatval" yang boleh membantu kami menukar pembolehubah kepada jenis titik terapung dengan cepat. Sintaks fungsi "floatval" adalah seperti berikut: floatval(mixed$var): Fungsi float menerima parameter $var

Analisis contoh operasi biasa Hash, jenis data asas Redis Analisis contoh operasi biasa Hash, jenis data asas Redis May 31, 2023 am 10:43 AM

Operasi biasa jenis data Redis Hash Hash dalam redis ialah jadual pemetaan medan dan nilai jenis rentetan. Sangat sesuai untuk menyimpan objek, setiap cincangan boleh menyimpan lebih daripada 4 bilion pasangan nilai kunci. Kasut kanak-kanak yang biasa dengan python boleh menganggapnya sebagai dict kamus. Storan jenis data sebelumnya ialah k-v, dan storan cincang ialah k-dict, dan dict akan mempunyai k-v sendiri. 1. hset memberikan nilai kepada medan dalam jadual cincang Jika jadual cincang tidak wujud, buat jadual cincang baharu dan lakukan operasi hset. Jika medan sudah wujud dalam jadual cincang, nilai lama akan ditimpa. hsetmyhashk1v1 dua, h

See all articles