• 25-10-2013, 08:42:21
    #19
    Üyeliği durduruldu
    Arkadaşlar birbirimizi kırmaya hiç gerek yok. bir sorunun alternatifini bilmeden o konuya asla hakimim kimse diyemez ki ben öyle düşünüyorum. Konu'ya yazan arkadaşlara çok teşekkür ediyorum ellerinize sağlık hepsini inceledim ve hepsi yararlı bilgiler.
  • 27-10-2013, 12:10:11
    #20
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @NepenTheS

    Tam unique id yapmanın çok kolay (aslında tek yolu) şudur.

    Mysql de bir field tutarsın mesela id her unique id istediğinde bu değeri bir arttır bununla bir algoritma kurarsın, çok basitce :

    md5($id);

    şeklinde yapabilirsin, bu değer hiçbirzaman tekrar etmez sürekli farklı bir string alırsın.
  • 27-10-2013, 12:34:10
    #21
    Aslında konu çok güzel ilerlerken @lastwisher arkadaşımız size bir adım ilerisini göstermiş neden bu şekilde bir tepkiyle karşılaştı anlayamadım. Yazısında yaptığınız yanlış vs gibi ne bir kelime nede bir tutum söz konusu, size yeni birşey katan insanlara karşı tutumunuzu sanırım gözden geçirmelisiniz.
  • 27-10-2013, 13:56:56
    #22
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Benim benzersiz kod ürütme kullandığım yapı;

    <?php
    	
    	header("Content-Type: text/plain; charset=UTF-8");
    	
    	define("BEGIN_TIME", microtime(true));
    	
    	function get_random_hash($prefix = null, $toUpper = false) {
    		$length = 32;
    		
    		$random_integer = rand(0, PHP_INT_MAX);
    		
    		$random_string = substr(implode(array_merge(range("a", "z"), range("A", "Z"), range("0", "9"))), 0, $length);
    		
    		$random_md5_hash = md5(sprintf("-%s-%s-", md5(microtime(true)), date('c')));
    		
    		$generated_hash = (is_null($prefix)) ? sha1(md5(sha1(sprintf("%s-%s-%s-%s", $random_integer, $random_string, $random_md5_hash, $random_integer)))) : $prefix . sha1(md5(sha1(sprintf("%s-%s-%s-%s", $random_integer, $random_string, $random_md5_hash, $random_integer))));
    		
    		return ($toUpper) ? strtoupper(substr($generated_hash, 0, $length)) : substr($generated_hash, 0, $length);
    	}
    	
    	$generated_hashes = array();
    	
    	for($i = 0; $i <= 10; ++$i)
    		$generated_hashes[] = get_random_hash(null, true);
    	
    	define("END_TIME", microtime(true));
    	
    	print_r(array(
    		"begin_time" => BEGIN_TIME,
    		"end_time" => END_TIME,
    		"elapsed_time" => (END_TIME - BEGIN_TIME),
    		"generated_hashes" => $generated_hashes
    	));
  • 27-10-2013, 16:11:21
    #23
    lastwisher adlı üyeden alıntı: mesajı görüntüle
    @NepenTheS

    Tam unique id yapmanın çok kolay (aslında tek yolu) şudur.

    Mysql de bir field tutarsın mesela id her unique id istediğinde bu değeri bir arttır bununla bir algoritma kurarsın, çok basitce :

    md5($id);

    şeklinde yapabilirsin, bu değer hiçbirzaman tekrar etmez sürekli farklı bir string alırsın.
    Çok teşekkürler çok basit bir yol fakat benim aklıma hiç gelmedi gerçekten, doğru diyorsunuz veritabanında id değeri zaten uniq ve devamlı artıyor, bunu belirli bir algoritmada şifreleyip saklarsam hiç bir zaman aynı değer denk gelmez. Aslında aynı gelme ihtimali matematiksel olarak çok çok düşük fakat yine de insan emin olmak istiyor.