-
Üyelik
04.04.2020
-
Yaş/Cinsiyet
24 / E
-
Meslek
Öğrenci
-
Konum
Nevşehir
-
Ad Soyad
V** K**
-
Mesajlar
31
-
Beğeniler
13 / 2
-
Ticaret
0, (%0)
Ön eki 'WT' olan toplam ön ekle birlikte 18 karakterlik bir uniqid oluşturan kod lazım. Uniqid kullanımı çok kolay ön ek felan ayarladım ama uzunluğunu ayarlıyamadım. Nasıl yapabilirim ? İllaha uniqid olmak zorunda değil ama eşsiz bir anahtar oluşturmam lazım başka bir yol var ise onu da yazabilirsiniz.
-
Üyelik
14.01.2018
-
Yaş/Cinsiyet
52 / E
-
Meslek
Programcı
-
Konum
İzmir
-
Ad Soyad
S** S**
-
Mesajlar
319
-
Beğeniler
4 / 111
-
Ticaret
0, (%0)
uuid generatore bak daha kolay olur.
class UUID {
public static function v3($namespace, $name) {
if(!self::is_valid($namespace)) return false;
// Get hexadecimal components of namespace
$nhex = str_replace(array('-','{','}'), '', $namespace);
// Binary Value
$nstr = '';
// Convert Namespace UUID to bits
for($i = 0; $i < strlen($nhex); $i+=2) {
$nstr .= chr(hexdec($nhex[$i].$nhex[$i+1]));
}
// Calculate hash value
$hash = md5($nstr . $name);
return sprintf('%08s-%04s-%04x-%04x-%12s',
// 32 bits for "time_low"
substr($hash, 0, 8),
// 16 bits for "time_mid"
substr($hash, 8, 4),
// 16 bits for "time_hi_and_version",
// four most significant bits holds version number 3
(hexdec(substr($hash, 12, 4)) & 0x0fff) | 0x3000,
// 16 bits, 8 bits for "clk_seq_hi_res",
// 8 bits for "clk_seq_low",
// two most significant bits holds zero and one for variant DCE1.1
(hexdec(substr($hash, 16, 4)) & 0x3fff) | 0x8000,
// 48 bits for "node"
substr($hash, 20, 12)
);
}
public static function v4() {
return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
// 32 bits for "time_low"
mt_rand(0, 0xffff), mt_rand(0, 0xffff),
// 16 bits for "time_mid"
mt_rand(0, 0xffff),
// 16 bits for "time_hi_and_version",
// four most significant bits holds version number 4
mt_rand(0, 0x0fff) | 0x4000,
// 16 bits, 8 bits for "clk_seq_hi_res",
// 8 bits for "clk_seq_low",
// two most significant bits holds zero and one for variant DCE1.1
mt_rand(0, 0x3fff) | 0x8000,
// 48 bits for "node"
mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
);
}
public static function v5($namespace, $name) {
if(!self::is_valid($namespace)) return false;
// Get hexadecimal components of namespace
$nhex = str_replace(array('-','{','}'), '', $namespace);
// Binary Value
$nstr = '';
// Convert Namespace UUID to bits
for($i = 0; $i < strlen($nhex); $i+=2) {
$nstr .= chr(hexdec($nhex[$i].$nhex[$i+1]));
}
// Calculate hash value
$hash = sha1($nstr . $name);
return sprintf('%08s-%04s-%04x-%04x-%12s',
// 32 bits for "time_low"
substr($hash, 0, 8),
// 16 bits for "time_mid"
substr($hash, 8, 4),
// 16 bits for "time_hi_and_version",
// four most significant bits holds version number 5
(hexdec(substr($hash, 12, 4)) & 0x0fff) | 0x5000,
// 16 bits, 8 bits for "clk_seq_hi_res",
// 8 bits for "clk_seq_low",
// two most significant bits holds zero and one for variant DCE1.1
(hexdec(substr($hash, 16, 4)) & 0x3fff) | 0x8000,
// 48 bits for "node"
substr($hash, 20, 12)
);
}
public static function is_valid($uuid) {
return preg_match('/^\{?[0-9a-f]{8}\-?[0-9a-f]{4}\-?[0-9a-f]{4}\-?'.
'[0-9a-f]{4}\-?[0-9a-f]{12}\}?$/i', $uuid) === 1;
}
}
// Usage
// Named-based UUID.
$v3uuid = UUID::v3('1546058f-5a25-4334-85ae-e68f2a44bbaf', 'SomeRandomString');
$v5uuid = UUID::v5('1546058f-5a25-4334-85ae-e68f2a44bbaf', 'SomeRandomString');
// Pseudo-random UUID
$v4uuid = UUID::v4();
?>
-
Üyelik
04.04.2020
-
Yaş/Cinsiyet
24 / E
-
Meslek
Öğrenci
-
Konum
Nevşehir
-
Ad Soyad
V** K**
-
Mesajlar
31
-
Beğeniler
13 / 2
-
Ticaret
0, (%0)
Yazdığınız için teşekkür ederim ama hem çok uzun hem de ben hiç bir şey anlamadım.
-
Üyelik
04.04.2020
-
Yaş/Cinsiyet
24 / E
-
Meslek
Öğrenci
-
Konum
Nevşehir
-
Ad Soyad
V** K**
-
Mesajlar
31
-
Beğeniler
13 / 2
-
Ticaret
0, (%0)
Şöyle bir kod buldum. Buna nasıl ön ek ekleyebilirim ? Bu işe yarar mı ?
$harf = 'ABCÇDEFGĞHIİJKLMNOÖPRSŞTUÜVYZ';
$harf_sayisi = mb_strlen($harf);
for ($i = 0; $i < 10; $i++){
$secilen_harf_konumu = mt_rand(0,$harf_sayisi - 1);
$kod = mb_substr($harf, $secilen_harf_konumu, 1).rand(0,9);
echo substr(md5(rand(0, 90)), 0, 16)
-
Üyelik
03.04.2019
-
Yaş/Cinsiyet
29 / E
-
Meslek
.
-
Konum
Trabzon
-
Ad Soyad
A** K**
-
Mesajlar
905
-
Beğeniler
393 / 395
-
Ticaret
3, (%100)
Benim kullandığım rastgele harf, sayı, harf-sayı oluşturan sınıfı kullanın. Ön ek eklemek isterseniz ona göre değişiklik yapılabilir. Sadece bir tane fonksiyonu kullanmak isterseniz diğerlerini silebilirsiniz, hatta class yapısını bozup sadece fonksiyon olarak da kullanabilirsiniz hepsini.
class Rastgele
{
static function Sayi($length)
{
$chars = "1234567890";
$clen = strlen( $chars )-1;
$id = '';
for ($i = 0; $i < $length; $i++) {
$id .= $chars[mt_rand(0,$clen)];
}
return ($id);
}
static function Harf($length)
{
$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
$clen = strlen( $chars )-1;
$id = '';
for ($i = 0; $i < $length; $i++) {
$id .= $chars[mt_rand(0,$clen)];
}
return ($id);
}
static function HarfSayi($length)
{
$chars = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
$clen = strlen( $chars )-1;
$id = '';
for ($i = 0; $i < $length; $i++) {
$id .= $chars[mt_rand(0,$clen)];
}
return ($id);
}
}
Kullanımı
Rastgele::HarfSayi(18); // 18 haneli
-
Üyelik
04.04.2020
-
Yaş/Cinsiyet
24 / E
-
Meslek
Öğrenci
-
Konum
Nevşehir
-
Ad Soyad
V** K**
-
Mesajlar
31
-
Beğeniler
13 / 2
-
Ticaret
0, (%0)
Değiniz gibi yaptım sayfa açılıyor ama textbox gözükmüyor.