Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Menjana String Hashes dalam JavaScript Sisi Pelanggan?

Bagaimanakah Saya Boleh Menjana String Hashes dalam JavaScript Sisi Pelanggan?

Patricia Arquette
Lepaskan: 2024-12-27 00:27:09
asal
873 orang telah melayarinya

How Can I Generate String Hashes in Client-Side JavaScript?

Penjanaan Hash daripada Rentetan dalam JavaScript

Mencipta cincang daripada rentetan ialah operasi penting untuk pelbagai aplikasi, seperti keselamatan dan penstrukturan data. Dalam persekitaran JavaScript pihak klien, di mana bahasa sebelah pelayan tidak tersedia, untuk mencapai matlamat ini memerlukan pendekatan khusus.

Kaedah:

JavaScript menyediakan penyelesaian mudah untuk cincang penjanaan melalui fungsi hashCode, yang boleh dilanjutkan sebagai kaedah prototaip untuk rentetan. Fungsi ini berulang ke atas aksara rentetan mengikut aksara, menggunakan operasi bitwise tertentu untuk mengira nilai cincang unik.

Kod Contoh:

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

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

Dalam contoh ini, kod cincang untuk rentetan "hasil" dikira dan dilog ke konsol.

Penjelasan:

Fungsi hashCode melaksanakan operasi berikut:

  1. Memulakan pembolehubah cincang kepada 0.
  2. Gelung melalui setiap aksara dalam rentetan.
  3. Menukar kod Unikod aksara menghala ke integer.
  4. Menggunakan anjakan bitwise dan penolakan pada pembolehubah cincang untuk menggabungkan integer.
  5. Menukar hasil kepada integer 32-bit menggunakan operator paip.
  6. Mengembalikan cincang yang dikira kod.

Kelebihan:

Menggunakan kaedah hashCode memberikan beberapa faedah:

  • Pelaksanaan pihak pelanggan tanpa memerlukan pelayan- bahasa sampingan.
  • Lurus dan mudah difahami kod.
  • Menghasilkan kod cincang unik untuk input rentetan yang berbeza.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana String Hashes dalam JavaScript Sisi Pelanggan?. 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