5.00 / 1 oy

Javascript ile nasıl benzersiz guid üretebilirim?

ID değeri olarak saklanacak bir tablo sütun değeri için 16 ya da 32 karakter uzunluğunda tamamen rasgele ve tekrar etmeyecek şekilde benzersiz (unique) değerler üretmem gerekiyor, bunu da Javascript tarafında yapmam gerek. Harf ve sayılardan oluşabilir, küçük harfler ve büyük harfler farklı karakterler olmayacak, bu yüzden harf karakterlerinin tamamı küçük harflerden ya da tamamı büyük harflerdej oluşmalı.

dağhan

09.07.2019 16:12

Bu soru 1 kez yanıtlandı.

  • 11 Temmuz 2019 13:52
    28

    GUID terimi zaten Globally Unique IDentifier olarak tanımlanmıştır, bu yüzden yeterince benzersiz olması beklenir.

    Soruyu okuyunca biraz internette bakınayım insanlar nasıl çözmüşler dedim, bu işlem için hazırlanmış üçüncü parti uygulamalar da var, çok uzun yoldan rasgele sayılar ve karşılık gelen alfabetik değerlerle üretim yapanlar da. Bulabildiğim en pratik çözüm aşağıdaki gibi oldu.

    32 karakterden oluşan bir GUID'i şu fonksiyon ile üretebilirsiniz:

    function guidUret() {
      return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>
        (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
      )
    }
    
    alert(guidUret());

     

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Javascript ile nasıl benzersiz guid üretebilirim?

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.