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
Patricia Arquetteasal
2024-12-27 00:27:09880semak imbas

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());

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!

Kenyataan:
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 sebelumnya:Medusa BStarter - PenghiburanArtikel seterusnya:Medusa BStarter - Penghiburan