• 14-01-2013, 15:11:59
    #1
    Arkadaşlar size şimdi md5,sha1 gibi bir şifreleme methodundan bahsedeceğim. Bu method Daymon Schroeder adlı bir arkadaş tarafından eskiden takıldığım ufak bi forumda bulunmuştur. Kendisi Amerikanın bilinen bir okulu olan MiT ye girmeye çalışmak için bu algoritmayı oluşturmuştur. Zamanında test aşamalarında algoritmayı durmadan 2 hafta boyunca çalıştırarak hatalarını bulmasına yardım eden kişilerden birisi de benim. Fazla bilinen bir method değildir lakin bizim için iyi olmasının tarafı da bu.
    Uzatmadan konuya geçeyim.
    BHM2, ilk proje olan BHM nin devamıdır açılımı Binary Hashing Method dur.
    Bu method girilen verinin tek yönlü parmak izini almak için oluşturulmuştur.
    BHM nin en iyi yanı oluşturulan hash string boyutunu md5 ve sha1 e nazaran değiştirip benzersiz şifreleme yapabiliyorsunuz.BHM1 e nazaran ayrıca salt kod yöntemi ile fonksiyona belirli parametreyi atarak yine benzersiz bir hash elde edebilirsiniz.
    MD5 ve SHA1 sadece 16 karakter arasında oluşturuluyor.BHM ise 73 adet güvenli karakter arasında oluşturuluyor.

    BHM Class download linki:
    http://code.google.com/p/binary-hash...downloads/list

    Örnek kullanımı
    $str = "R10.NET Deimosx";
    bhm2($str, "", 16) ;
    16 karakter uzunluğunda oluşturduğu hash aşağıdaki gibidir
    ]cpPUe)vypuumwV%
    32 Karakter uzunluğunda
    ;s^*j{srSNT8aLR[ba_E}/(9+=Mvcc8X
    10 karakter uzunluğunda
    q1@^iW5oj)
    Gördüğünüz gibi her uzunlukta hash da değişiyor.

    Ben bunu lisans dosyası oluşturmak adına projelerimin bazılarında kullanıyordum, sizin içinde işe yarar olacağını düşünerek paylaşmak istedim.

    İyi günler

    Not: Alıntı yaparken kaynak belirtirseniz sevinirim.
  • 14-01-2013, 15:58:41
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Hocam harika oldu bu. Gerçekten iyi bir yöntem. Fazla bilinmiyor olması ayrıca güzel. Biraz inceleyelim. Teşekkürler.
  • 14-01-2013, 17:10:49
    #3
    Üyeliği durduruldu
    Teşekkürler, geliştirilmeye açık mı? Ayrıca ikinci boşluk ne oluyor fonksiyondaki? Kullanımı hakkında daha ayrıntılı bilgi alalım.
  • 14-01-2013, 17:12:53
    #4
    İkinci boşluk salt kodu oluyor. Dosyanın içerisinde detaylı döküman mevcut.
  • 14-01-2013, 19:17:43
    #5
    sevdim elinize sağlık
  • 16-01-2013, 17:15:05
    #6
    Hocam ek olarak, bu sınıf kime ait? Blogumda yayınlamak için PHP de şifreleme yöntemleri adı altında bir yazı yazıyorum. Bir kaç farklı şifreleme metodu hakkında bilgi vereceğim. Bunu da eklememde bir sorun var mı acaba?
  • 16-01-2013, 17:40:14
    #7
    Yazının en başında kime ait olduğu yazıyor.
    Linkte istiyorsanız buyrun
    http://daemonfstudios.com/
  • 17-01-2013, 01:25:56
    #8
    ellerine sağlık hocam, fakat yapılacak projelerde bir şifre için bu kullanılırmı orası düşündürücü tabi... php nin kendi içindeki fonksiyonlar varken hele iyilerinden bir tanesi de bu http://php.net/manual/en/function.crypt.php amacım sizin yaptığınız kullanılmaz veya hatalı yada doğru değil demek değil benim görüşüm sadece bu... yalnış anlamayın... tekrar ellerinize emeğinize sağlık kolay gelsin...
  • 17-01-2013, 02:04:42
    #9
    SefaCan adlı üyeden alıntı: mesajı görüntüle
    ellerine sağlık hocam, fakat yapılacak projelerde bir şifre için bu kullanılırmı orası düşündürücü tabi... php nin kendi içindeki fonksiyonlar varken hele iyilerinden bir tanesi de bu http://php.net/manual/en/function.crypt.php amacım sizin yaptığınız kullanılmaz veya hatalı yada doğru değil demek değil benim görüşüm sadece bu... yalnış anlamayın... tekrar ellerinize emeğinize sağlık kolay gelsin...
    BHM2 sadece php için yapılmış bir şifreleme methodu değil, en son bildiğim kadarıyla C++, python, C# versiyonları vardı fakat yukardaki linkte sadece PHP,JS ve Python sürümleri var. PHP nin içerisinde olduğunu varsaydığınız crypt fonksiyonu MD5, SHA ve Blowfishten ibaret. Bu şifreleme methodlarının bilindik olması ne kadar düşük ihtimalle olsa da güvenilir değildir hele ki MD5 ile oluşturduğunuz şifreleri anında kırabilen insanların var olduğuna emin olabilirsiniz. BHM2 nin diğerlerinden önce geldiği bir noktayı kaçırmışsınız, o da hash uzunluğunu kendi isteğiniz doğrultusunda değiştirebiliyorsunuz. Bu da bu alanda BHM2 yi benzersiz yapmaya yeterli.

    MD5 sabit 32 karakter uzunluğunda 16 karakter arasında dönüyor milyarlarca kelimeden oluşan rainbow tablolar md5in önüne geçmede yeterli, Blowfish 22 karakter uzunluğunda 0-9A-Za-z dışında hiçbirşeyi blowfish içerisinde sokamazsınız sokarsanız boş veri çıkarır bu da işe yaramaz, SHA256 ve SHA512 16 karakterden oluşur ama bir veriyi 5000 ve 1 milyar kez aralığında döndürerek size sonuç verir bu da BHM2 nin şifreleme hızından oldukça yavaştır.

    Projede benim hiçbir katkım yok yanlış anlaşılma olmasın, ben 2 hafta boyunca bu şifreleme methodunu yapan arkadaşın yazdığı bir programı kendi sunucumda çalıştırdım ve 250 milyon civarı hash oluşturarak denedim. 2 haftalık denemede 5 milyar hatasız hash oluşturmasından sonra herkesin kullanımına açık hale getirildi.

    Dediklerinizin aksini iddaa etmiyorum bu kadar şifreleme methodlarının detayına inecekseniz ya gizli devlet meseleleriyle uğraşmanız lazım ya da daha büyük birşeylerin arkasında olmanız lazım o yüzden söylediklerinize de aynen katılıyorum.