Delphi Dünyası Facebook'ta

Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

Gönderen Konu: md5 'e çevirme ve okuma (şifreleme)  (Okunma sayısı 5435 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı vectorman

  • Delphi 5 Level 2
  • **
  • İleti: 211
  • Rep: +2/-1
md5 'e çevirme ve okuma (şifreleme)
« : 29 Aralık 2006 12:06:57 »
bununla ilgili güzel bir örnek buldum. ama aklıma takılan bir soru var. hem faydalanmak isteyen faydalansın.örnek güzel çalışıyor.

ama bu md5in çözücü yok? yani veri tabanına şifreli kaydeceğiz? ama bunu okurken nasıl çözeceğiz.ilk önce şifreyi md5leyip öyle bi sorgu yapacağız?ben daha önce hiç kullanmadım.

bir de md5 şifreleme çözülüyor mu? bir tekniği yada çözücüsü var mı?. hala güvenli bir sistem denilebilir mi?



Uses system.Security.Cryptography,System.Text;

Function GetMD5(const input:string):String;
Var
hashedBytes : array of Byte;
md5Hasher   : MD5;
Begin
   md5Hasher    := MD5CryptoServiceProvider.Create;
   hashedBytes  := md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
   Result       := BitConverter.ToString(hashedBytes);
   Result       := Result.Replace('-',System.String.Empty);
End;

Çevrimdışı cemaliozan

  • Delphi 5 Level 4
  • ****
  • İleti: 230
  • Rep: +4/-3
  • Cinsiyet: Bay
  • Kodlarım, canlarım
    • Gerçek Sevgi Portalı
Ynt: md5 'e çevirme ve okuma (şifreleme)
« Yanıtla #1 : 29 Aralık 2006 14:34:54 »
  Md5 tek yönlü kriptolama algortimasıdır. Yani kriptolanacak veri kriptolandıktan sonra geriye dönüşü olmaz. Bu durumda Örneğin kullanıcı parolaları gibi önemli verileri veri tabanına md5 ile kriptolayıp kaydederiz.

Aşağıdaki örneği inceleyelim.

//Yeni üye kayıt formu
Kod: [Seç]
interface

uses
  {Borland.Vcl.SysUtils,}System.Collections, System.ComponentModel,
  System.Data, System.Drawing, System.Web, System.Web.SessionState,
  System.Web.UI, System.Web.UI.WebControls, System.Web.UI.HtmlControls,
  ayarlar, MySql.Data.MySqlClient,MySql.Data.Types,System.Web.Security,
  System.Web.Mail;

------------

    // md5 kriptolama için asamble System.Web.Security kullanılıyor
    _Parola := Copy(FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox_1.Text,'md5'),1,32);
   // parolanın kaydedildiği alanın uzunluğu 32 karakter
   // Parola kaydedilirken md5 ile tek yönlü kriptolanıyor...


------------------------
Bir başka formda kullanıcının girdiği parolanın sisteme giriş için geçerli olup olmadığını bakın nasıl kontrol ediyoruz....

Login formu.
Kod: [Seç]
    _Parola := Copy(FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox1.Text,'md5'),1,32);
      if KullaniciVarmi(TextBox2.Text.ToLower,_Parola) then

       ----

Kullanıcı oturum açmak için standart notasyonda (1234567 gibi) parolasını giriyor. Ancak girilen parola veri tabanından karşılaştırma yapılmak üzere önce md5 ile kriptolanıyor. Ortaya çıkan md5 li değerle, veri tabanında kayıtlı md5 li değerin aynı olup olmadığı kontrol ediliyor.

« Son Düzenleme: 29 Aralık 2006 14:37:50 by cemaliozan »
www.teksevgi.com - Tamamı BDS 2006 ile yazıldı..

Yaşamaya Değer Bir Hayattan, Sevmeye Değer Bir Aşktan, Dostluğa Değer Bir Arkadaşlıktan Asla Vazgeçmeyin...

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: md5 'e çevirme ve okuma (şifreleme)
« Yanıtla #2 : 31 Aralık 2006 16:22:36 »
Yazan yanlış yazmadıysa bir yerde okunabildiğini görmüşüm. Hatta kodu bilem vardı ::P
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı bugrakorkmaz

  • Delphi 1 Level 1
  • *
  • İleti: 4
  • Rep: +0/-0
Ynt: md5 'e çevirme ve okuma (şifreleme)
« Yanıtla #3 : 04 Aralık 2008 15:58:58 »
Kodunuzun tam hali varmı acaba?
  Md5 tek yönlü kriptolama algortimasıdır. Yani kriptolanacak veri kriptolandıktan sonra geriye dönüşü olmaz. Bu durumda Örneğin kullanıcı parolaları gibi önemli verileri veri tabanına md5 ile kriptolayıp kaydederiz.

Aşağıdaki örneği inceleyelim.

//Yeni üye kayıt formu
Kod: [Seç]
interface

uses
  {Borland.Vcl.SysUtils,}System.Collections, System.ComponentModel,
  System.Data, System.Drawing, System.Web, System.Web.SessionState,
  System.Web.UI, System.Web.UI.WebControls, System.Web.UI.HtmlControls,
  ayarlar, MySql.Data.MySqlClient,MySql.Data.Types,System.Web.Security,
  System.Web.Mail;

------------

    // md5 kriptolama için asamble System.Web.Security kullanılıyor
    _Parola := Copy(FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox_1.Text,'md5'),1,32);
   // parolanın kaydedildiği alanın uzunluğu 32 karakter
   // Parola kaydedilirken md5 ile tek yönlü kriptolanıyor...


------------------------
Bir başka formda kullanıcının girdiği parolanın sisteme giriş için geçerli olup olmadığını bakın nasıl kontrol ediyoruz....

Login formu.
Kod: [Seç]
    _Parola := Copy(FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox1.Text,'md5'),1,32);
      if KullaniciVarmi(TextBox2.Text.ToLower,_Parola) then

       ----

Kullanıcı oturum açmak için standart notasyonda (1234567 gibi) parolasını giriyor. Ancak girilen parola veri tabanından karşılaştırma yapılmak üzere önce md5 ile kriptolanıyor. Ortaya çıkan md5 li değerle, veri tabanında kayıtlı md5 li değerin aynı olup olmadığı kontrol ediliyor.