Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Melaksanakan Pencincangan Rentetan Sisi Pelanggan dalam JavaScript?

Bagaimanakah Saya Boleh Melaksanakan Pencincangan Rentetan Sisi Pelanggan dalam JavaScript?

Patricia Arquette
Lepaskan: 2024-12-06 06:43:11
asal
431 orang telah melayarinya

How Can I Implement Client-Side String Hashing in JavaScript?

Cincangan Rentetan dalam JavaScript: Penyelesaian Sisi Pelanggan

Untuk pembangun JavaScript yang mencari cara pihak klien untuk menukar rentetan menjadi cincang, konsep fungsi cincang menawarkan penyelesaian yang berdaya maju. Fungsi cincang ialah algoritma yang menukarkan input arbitrari kepada output bersaiz tetap, yang dikenali sebagai kod cincang atau nilai cincang. Nilai cincang ini ialah pengecam unik untuk rentetan input, membolehkan perbandingan dan pengindeksan yang cekap.

Fungsi pencincangan yang dilaksanakan dalam JavaScript

Kod berikut menunjukkan pelaksanaan fungsi cincang yang mudah dalam JavaScript:

String.prototype.hashCode = function() {
  var hash = 0,
    i, chr;
  if (this.length === 0) return hash;
  for (i = 0; i < this.length; i++) {
    chr = this.charCodeAt(i);
    hash = ((hash << 5) - hash) + chr;
    hash |= 0; // Convert to 32bit integer
  }
  return hash;
};
Salin selepas log masuk

Fungsi ini mengira nilai cincang untuk rentetan input. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa nilai cincang keluaran mungkin tidak selamat dari segi kriptografi dan bertujuan untuk tujuan pengenalan yang mudah.

Contoh penggunaan

Untuk menggunakan fungsi hashCode() yang ditentukan, hanya gunakannya pada rentetan yang dikehendaki:

const str = 'revenue';
console.log(str, str.hashCode());
Salin selepas log masuk

Output yang dijangkakan untuk contoh ini ialah:

revenue -1242812626
Salin selepas log masuk

Nilai cincang yang terhasil boleh digunakan untuk pelbagai tujuan, seperti membuat jadual carian, menjana pengecam unik atau membandingkan data.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Pencincangan Rentetan Sisi Pelanggan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan