Ekibim, rastgele jetonlar üreten bazı sunucu tarafı kodlarını (Java'da) teslim etti ve ben de bununla ilgili bir sorum var -
Bu belirteçlerin amacı oldukça hassastır - oturum kimliği, parola sıfırlama bağlantıları vb. Jeton "uzun" dır, bu yüzden 64 bit uzunluğundadır.
Kod şu anda java.util.Randombu simgeleri oluşturmak için sınıfı kullanıyor . Dokümantasyon için java.util.Randomaçıkça şöyle der:
Java.util.Random örnekleri kriptografik olarak güvenli değildir. Bunun yerine güvenliğe duyarlı uygulamalar tarafından kullanılmak üzere şifreli olarak güvenli bir sahte rasgele sayı üreteci almak için SecureRandom kullanmayı düşünün.
Ancak, kod şu anda kullanma şekli java.util.Randombudur - java.security.SecureRandomSınıfı başlatır ve daha sonra sınıfı örneklemek için SecureRandom.nextLong()kullanılan tohumu elde etmek için yöntemi kullanır java.util.Random. Sonra java.util.Random.nextLong()belirteci oluşturmak için yöntem kullanır .
Öyleyse şimdi sorum - Kullanılıyorsa java.util.Randomtohumlanması hala güvensiz java.security.SecureRandommi? Kodu java.security.SecureRandomyalnızca jetonları oluşturmak için kullanacak şekilde değiştirmem gerekir mi?
Şu anda kod tohum Randombaşlangıçta bir kez
Randombaşlangıçta bir kez mi ekiyor, yoksa her jeton için yeni bir tane mi ekliyor? Umarım, bu aptalca bir soru, ama kontrol edeceğimi düşündüm.
longveya doubledeğerleri üretmeyeceği anlamına gelir .