*

şükela:  tümü | bugün
  • bir hashing (ozet) algoritmasi. herhangi bir mesaj ya da metnin sha1 ile hashlenmesiyle 20 bytelık fingerprinti elde edilir. (bkz: md5) (bkz: md2)
  • us. secure hashing algorithm 1 in kısaltılmış hali.
  • email guvenligi icin pgp gibi programlarda, browser guvenligi icin ssl'de kullanilmaktadir. hash, yani "tek yonlu sifreleme" metodudur.

    2004'deki crypto conference'da israilli iki kisi** sha-1'deki zayifliklari derleyen bir paper yayimlanmistir.

    bu sene subat ayinda, 3 çinli *** sha-1'in kirilmasini kolaylastiri yontemler duyurulmustur.(2^80 gucundeki sha-1'i 2^69 gucune kadar dusurmek). akabinde bunu 2^63'e kadar cektiler.
  • ayrica ipsec,ssh,s/mime'da da kullanilmaktadir, algoritmasi national security agency* tarafindan tasarlanmistir.
  • adının "es eyç ey van" diye değil de "şavan" diye okunduğunu duyduğumda dumur olduğum hash algoritması. günümüzde md5'in yerini almıştır.
  • http://www.movable-type.co.uk/scripts/sha-1.html

    adresinden javascript ile yapılmış version'unu görebilirisiz.
  • php'de sadece sha1("kuzu") diyerek sonucu alabilecekken, c#'ta şöyle bir eziyete maruz kalırsınız:

    using system.security.cryptography;

    hashingalgorithm ha_sha1 = new sha1managed();
    string str_cevrilecekstring = "kuzu";
    string str_sha1string = "";
    byte[] rg_cevrilecekbytes;
    byte[] rg_sha1bytes;

    //verilen string, byte dizisine çevrilir:
    rg_cevrilecekbytes = encoding.unicode.getbytes(str_cevrilecekstring);
    //elde edilen byte dizisi, computehash fonksiyonuna verilir ve sonuç byte dizisi elde edilir.
    rg_sha1bytes = ha_sha1.computehash(str_cevrilecekbytes);
    //sonuç olarak sha1 hash, bu byte dizisindedir. ama binary olarak. bunu hex'e çevirmek gerekir:
    foreach (byte b in rg_sha1bytes)
    str_sha1string += string.format("{0:x2}", b);
    //artık sha1string değişkeninde hex olarak kodlanmış sha1 kuzu kuzu yatmaktadır.

    işte bu yüzden php işlevsel, şeker bir scripting dilidir, ve işte bu yüzden .net baba bir framework'tür.
    yine bu yüzden "php mi daha iyi asp.net mi" diye sorulmamalıdır.

    edit: kezman'ın önerisiyle elden geldiğince hungarian notation kullanılmıştır.
  • c# içerisinde hazır bir fonksiyonu olmayan ve olmaması gereken özet algoritmasıdır.

    ayrıca programlama dilleri ile scripting dilleri arasındaki farkı anlamayan kimseler için hash alma işleminde yeniden kullanılma ihtimali çok yüksek, nerden geldiği belirli olmayan bir steam'i açıp kapamak veya encode bir string'i byte array'e çevirmek eziyet olarak görülmesi doğaldır.

    (bkz: nerde benim dünyayı yoket bütonum)
  • google ve cwi enstitüsü tarafından tarihin tozlu sayfalarına gönderilmiş hash algoritması. makaleyi detaylı okumadım ama farklı dosyalara aynı hash değerini vermenin bir yolunu bulmuşlar sanırım.