Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menjana Pengecam Unik Global (GUID) dalam JavaScript dengan Boleh Dipercayai Merentasi Platform Berbeza?

Bagaimanakah Saya Boleh Menjana Pengecam Unik Global (GUID) dalam JavaScript dengan Boleh Dipercayai Merentasi Platform Berbeza?

Patricia Arquette
Patricia Arquetteasal
2024-12-24 18:22:16324semak imbas

How Can I Generate Globally Unique Identifiers (GUIDs) in JavaScript Reliably Across Different Platforms?

Menjana Pengecam Unik Global (GUID) dalam JavaScript

Mencipta pengecam unik global (GUID) dalam JavaScript memberikan cabaran yang berkaitan dengan ketersediaan platform , rawak dan keserasian ASCII. Untuk menangani kebimbangan ini, beberapa pendekatan tersedia:

Pelayar Moden dan Konteks Selamat:

Jika aplikasi berjalan pada penyemak imbas moden dengan sambungan selamat (HTTPS atau localhost), kaedah crypto.randomUUID() ialah pilihan yang boleh dipercayai dan cekap untuk menjana UUID yang mematuhi RFC4122. Kaedah ini memastikan rawak dan memenuhi julat aksara ASCII yang diperlukan.

Platform Warisan dan Konteks Tidak Selamat:

Untuk platform tanpa crypto.randomUUID() atau dalam bukan- dalam konteks selamat, pakej uuid ialah alternatif yang disokong dengan baik yang boleh menjana UUID yang memenuhi pelbagai spesifikasi.

Kaedah Sandar:

Jika kedua-dua pilihan di atas tidak tersedia, kaedah sandaran boleh digunakan:

function uuidv4() {
  return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, c =>
    (+c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> +c / 4).toString(16)
  );
}

Kaedah ini menggunakan crypto.getRandomValues() untuk menjana nombor rawak dan memastikan pematuhan kepada julat aksara ASCII.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Pengecam Unik Global (GUID) dalam JavaScript dengan Boleh Dipercayai Merentasi Platform Berbeza?. 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