ID Teklik

0 Cevap php

Ben benzersiz bir kimlik oluşturmak için aşağıdaki ilk yarısında kod kullanıyorum. Sonra ben, kısa benzersiz bir kimliği oluşturur kod ikinci parça için bir değişken olarak ilk yarısında üretilen girişini kullanıyorum kod i garantisini% 100 teklik kullanıyorum olacaktır. Ben bu yüzden benimle çıplak lütfen yeni duyuyorum:

PHP:

// 1st Piece of code

// Generate Guid 
function NewGuid() { 
    $s = strtoupper(uniqid(rand(),true)); 
    $guidText = 
        substr($s,0,8) . '-' . 
        substr($s,8,4) . '-' . 
        substr($s,12,4). '-' . 
        substr($s,16,4). '-' . 
        substr($s,20); 
    return $guidText;
}
// End Generate Guid 

$Guid = NewGuid();

//2nd Piece of code

$alphabet = '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ';    

function base_encode($num, $alphabet) {
    $base_count = strlen($alphabet);
    $encoded = '';

    while ($num >= $base_count) {

        $div = $num/$base_count;
        $mod = ($num-($base_count*intval($div)));
        $encoded = $alphabet[$mod] . $encoded;
        $num = intval($div);
    }

    if ($num) $encoded = $alphabet[$num] . $encoded;
        return $encoded;
}


function base_decode($num, $alphabet) {
    $decoded = 0;
    $multi = 1;

    while (strlen($num) > 0) {
        $digit = $num[strlen($num)-1];
        $decoded += $multi * strpos($alphabet, $digit);
        $multi = $multi * strlen($alphabet);
        $num = substr($num, 0, -1);
    }

    return $decoded;
}

ob_start();
echo base_encode($Guid, $alphabet); //should output: bUKpk
$ider = ob_get_contents();
ob_end_clean();

0 Cevap