Syntax:
Muhtemelen bu kodları kopyalayarak insanlar olacaktır, böylece bu kodlar kopyalamak için kolay olmalıdır anlamına gelir. Gamecat işaret ettiği gibi 10 ^ 10, çok küçük. kgiannakakis daha iyi bir fikri vardır, ama bu başka bir soruna neden olur: "1", "I" gibi bir çok görünüyor. "0", "C", "O" ve "Q" da oldukça benzer. Bu büyük bir sorun değildir. Güvenli alfabet tanımlayın: "0123456789ABDEFGHJKLMNPRSTUVXYZ" (COIQ bırakır) From the comments: depending on the fonts you pick, 5/S and U/V may also be visually ambiguous; replace as required. Bu 32 simge (5 bit) kodudur. A 10 karakter kodu 50 bit sayıdır. Bu tahmin olma şansı vb karşılaştırma, sıralama, kopya oluşturmak için oldukça Önemsiz olmalıdır yaklaşık 0.63E-7
Kodlar hatırlamak çok uzun olduğundan bunları kopyalarken, kullanıcılar bir dinlenme noktası gerekir. Yani iki veya üç parça dize bölmek ve giriş alan bu arıza uyduğundan emin olun.
Örneğin AKG3L-45TEE => iki grup 5 ve 5 karakter hatırlamıyorum bile o okuma durduğu noktayı geri bulmak çok daha kolay.
How to generate them:
Bu oldukça basit. Sen adayları oluşturmak için özellikle sophistciated algoritma gerekmez. Sen, ihtiyaç duyulan kod başına 10 rasgele sayılar üretmek her sayıdan 5 biti alabilir (typically the middle bits are best, e.g. (rand()/64) modulo 32). Lütfen alfabesine içine dizin olarak bu değeri [0-31] kullanın. Birincil anahtar olarak bu dize ile bir veritabanı tablo oluşturun ve tablo 63 milyon girdileri vardır kadar yerleştirin. Muhtemelen "üzerinde oluşturulan" ve bu tabloya tarihlerde "itfa" eklemek istiyorum.