• 18-08-2017, 10:42:30
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Herkese merhabalar.
    Veritabanına kullanıcı kaydı yaparken veritabanı tablosunda sifre ve salt adında iki farklı alan tutuyorum.
    Hash isimli class'ım da
    class Hash {
    		public static function create($string, $salt = '') {
    			return hash('haval256,4',$string.$salt);
    		}
    
    		public static function salt($length = 32) {
    		    if(function_exists('random_bytes'))
                               return random_bytes($length);
                       else
    			    return mcrypt_create_iv($length);
    		}
    		
    		public static function unique() {
    			return self::create(uniqid());
    		}
    	}
    böyle birşey yaptım.

    Kullanıcı tablosuna kayıt yapmadan önce
    $salt = Hash::salt() ile bir salt değeri oluşturuyorum ve
    INSERT INTO sorgusunda salt sütununa bu veriyi kaydetmek istediğimde kayıt yapmıyor. salt sütunu için kendim elle değer girdiğimde kabul ediyor(1,dfwefsdf vs. gibi) fakat bu değişkenden gelen veriyi kayıt etmiyor.
    $salt = Hash::salt(64);
        $sifre = Hash::create('123456',$salt);
        $qAdminEkle = Connection::getInstance()->getConnection()->query("INSERT INTO tbl_kullanici SET kullanici_adi='Administrator', sifre = '$sifre', salt = '$salt', b_kurum_id='1',kullanici_durum='1',kullanici_grup_id='1' ");
    Sütunun encoding tipini değiştirdim, uzunlukta bir problem yok ama kayıdı yapmıyor. Kafayı yiyeceğim Lütfen, yardımlarınızı bekliyorum
  • 18-08-2017, 15:29:05
    #2
    Veri tabanınız da salt sütunun türü nedir ?
    random_bytes functionu mevcut ise size binnary formatında dönüş yapacak. Bu yüzden kaydetmiyor olabilir.
    Veritabanına eklerken salt='bin2hex($salt)' şeklinde eklemeyi deneyiniz
  • 19-08-2017, 10:04:58
    #3
    Genki adlı üyeden alıntı: mesajı görüntüle
    Veri tabanınız da salt sütunun türü nedir ?
    random_bytes functionu mevcut ise size binnary formatında dönüş yapacak. Bu yüzden kaydetmiyor olabilir.
    Veritabanına eklerken salt='bin2hex($salt)' şeklinde eklemeyi deneyiniz
    Üstadım sütun türü varchar hatta boyutu da 255 yaptım gerek olmamasına rağmen bana mısın demedi.
    random_bytes değilde sadece mcrypt_create_iv kullandığım zaman da oluşan veriyi kaydetmedi.