|Refleks|-Oyun,Tasarım,Film,Program,Tek link,İndir
Would you like to react to this message? Create an account in a few clicks or log in to continue.

|Refleks|-Oyun,Tasarım,Film,Program,Tek link,İndir


 
AnasayfaLatest imagesAramaKayıt OlGiriş yap

 

 Delphi'de MD5 Şifreleme

Aşağa gitmek 
YazarMesaj
serezo
Yönetici
Yönetici
serezo


Ruh Hali : Delphi'de MD5 Şifreleme Defaul10
Mesaj Sayısı : 952
Rep Puanı : 13129
Teşekkür Aldı : 0
Kayıt tarihi : 29/10/09
Nerden Nerden : Kocaeli/Gebze
İş/Hobiler İş/Hobiler : MEsaj atmak :D
Lakap Lakap : Sezo

Delphi'de MD5 Şifreleme Empty
MesajKonu: Delphi'de MD5 Şifreleme   Delphi'de MD5 Şifreleme EmptySalı Ara. 08, 2009 4:33 pm

Delphi ile md5 şifrelemeyi öğrenelim.

İlk olarak md5.pas dosyamızın tamamını kopyalayın yeni bir metin
belgesi oluşturun ve içine yapıştırın.. İsim olarak md5.pas yapın ve
proje klasörünüzün içine atın.

md5.pas dosyası
:

unit MD5;

interface

type
Dizi= Array of integer;

function MD_5(str: string): string;

implementation

function rhex(num: integer): string;
var
str,hex_chr: string;
j: integer;
begin
hex_chr:='0123456789abcdef';
str:='';
for j:=0 to 3 do
str:=str+hex_chr[((num shr (j*8+4)) and $F)+1]+hex_chr[((num shr (j*) and $F)+1];
Result:=str;
end;

function str2blks_MD5(str: string): Dizi;
var
nblk: integer;
blks: Dizi;
i: integer;
begin
nblk:=((length(str)+ shr 6)+1;
SetLength(blks,nblk*16);
for i:=0 to nblk*16-1 do blks[i]:=0;
for i:=0 to length(str)-1 do
blks[i shr 2]:=blks[i shr 2] or ((ord(str[i+1]) shl ((i mod 4)*));
blks[i shr 2]:=blks[i shr 2] or ($80 shl ((i mod 4)*);
blks[nblk*16-2]:=length(str)*8;
Result:=blks;
end;

function add(x,y: integer): integer;
var
lsw,msw: integer;
begin
lsw:=(x and $FFFF)+(y and $FFFF);
msw:=(x shr 16)+(y shr 16)+(lsw shr 16);
Result:=(msw shl 16) or (lsw and $FFFF);
end;

function rol(num,cnt: integer): integer;
begin
Result:=(num shl cnt) or (num shr (32 - cnt));
end;

function cmn(q, a, b, x, s, t: integer): integer;
begin
Result:= add(rol(add(add(a, q), add(x, t)), s), b);
end;

function ff(a, b, c, d, x, s, t: integer): integer;
Begin
Result:= cmn((b and c) or ((not b) and d), a, b, x, s, t);
end;

function gg(a, b, c, d, x, s, t: integer): integer;
Begin
Result:= cmn((b and d) or (c and (not d)), a, b, x, s, t);
end;

function hh(a, b, c, d, x, s, t: integer): integer;
Begin
Result:= cmn(b xor c xor d, a, b, x, s, t);
end;

function ii(a, b, c, d, x, s, t: integer): integer;
Begin
Result:= cmn(c xor (b or (not d)), a, b, x, s, t);
end;

function MD_5(str: string): string;
var
x: dizi;
a,b,c,d,olda,oldb,oldc,oldd: integer;
i: integer;
begin
x:= str2blks_MD5(str);
a:= 1732584193;
b:= -271733879;
c:= -1732584194;
d:= 271733878;

i:=0;
while i<length(x) do
begin
olda := a;
oldb := b;
oldc := c;
oldd := d;

a := ff(a, b, c, d, x[i+ 0], 7 , -680876936);
d := ff(d, a, b, c, x[i+ 1], 12, -389564586);
c := ff(c, d, a, b, x[i+ 2], 17, 606105819);
b := ff(b, c, d, a, x[i+ 3], 22, -1044525330);
a := ff(a, b, c, d, x[i+ 4], 7 , -176418897);
d := ff(d, a, b, c, x[i+ 5], 12, 1200080426);
c := ff(c, d, a, b, x[i+ 6], 17, -1473231341);
b := ff(b, c, d, a, x[i+ 7], 22, -45705983);
a := ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
d := ff(d, a, b, c, x[i+ 9], 12, -1958414417);
c := ff(c, d, a, b, x[i+10], 17, -42063);
b := ff(b, c, d, a, x[i+11], 22, -1990404162);
a := ff(a, b, c, d, x[i+12], 7 , 1804603682);
d := ff(d, a, b, c, x[i+13], 12, -40341101);
c := ff(c, d, a, b, x[i+14], 17, -1502002290);
b := ff(b, c, d, a, x[i+15], 22, 1236535329);

a := gg(a, b, c, d, x[i+ 1], 5 , -165796510);
d := gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
c := gg(c, d, a, b, x[i+11], 14, 643717713);
b := gg(b, c, d, a, x[i+ 0], 20, -373897302);
a := gg(a, b, c, d, x[i+ 5], 5 , -701558691);
d := gg(d, a, b, c, x[i+10], 9 , 38016083);
c := gg(c, d, a, b, x[i+15], 14, -660478335);
b := gg(b, c, d, a, x[i+ 4], 20, -40553784;
a := gg(a, b, c, d, x[i+ 9], 5 , 56844643;
d := gg(d, a, b, c, x[i+14], 9 , -1019803690);
c := gg(c, d, a, b, x[i+ 3], 14, -187363961);
b := gg(b, c, d, a, x[i+ 8], 20, 1163531501);
a := gg(a, b, c, d, x[i+13], 5 , -1444681467);
d := gg(d, a, b, c, x[i+ 2], 9 , -51403784);
c := gg(c, d, a, b, x[i+ 7], 14, 1735328473);
b := gg(b, c, d, a, x[i+12], 20, -1926607734);

a := hh(a, b, c, d, x[i+ 5], 4 , -37855;
d := hh(d, a, b, c, x[i+ 8], 11, -2022574463);
c := hh(c, d, a, b, x[i+11], 16, 1839030562);
b := hh(b, c, d, a, x[i+14], 23, -35309556);
a := hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
d := hh(d, a, b, c, x[i+ 4], 11, 1272893353);
c := hh(c, d, a, b, x[i+ 7], 16, -155497632);
b := hh(b, c, d, a, x[i+10], 23, -1094730640);
a := hh(a, b, c, d, x[i+13], 4 , 681279174);
d := hh(d, a, b, c, x[i+ 0], 11, -358537222);
c := hh(c, d, a, b, x[i+ 3], 16, -722521979);
b := hh(b, c, d, a, x[i+ 6], 23, 76029189);
a := hh(a, b, c, d, x[i+ 9], 4 , -640364487);
d := hh(d, a, b, c, x[i+12], 11, -421815835);
c := hh(c, d, a, b, x[i+15], 16, 530742520);
b := hh(b, c, d, a, x[i+ 2], 23, -995338651);

a := ii(a, b, c, d, x[i+ 0], 6 , -198630844);
d := ii(d, a, b, c, x[i+ 7], 10, 1126891415);
c := ii(c, d, a, b, x[i+14], 15, -1416354905);
b := ii(b, c, d, a, x[i+ 5], 21, -57434055);
a := ii(a, b, c, d, x[i+12], 6 , 1700485571);
d := ii(d, a, b, c, x[i+ 3], 10, -1894986606);
c := ii(c, d, a, b, x[i+10], 15, -1051523);
b := ii(b, c, d, a, x[i+ 1], 21, -2054922799);
a := ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
d := ii(d, a, b, c, x[i+15], 10, -30611744);
c := ii(c, d, a, b, x[i+ 6], 15, -1560198380);
b := ii(b, c, d, a, x[i+13], 21, 1309151649);
a := ii(a, b, c, d, x[i+ 4], 6 , -145523070);
d := ii(d, a, b, c, x[i+11], 10, -1120210379);
c := ii(c, d, a, b, x[i+ 2], 15, 718787259);
b := ii(b, c, d, a, x[i+ 9], 21, -343485551);

a := add(a, olda);
b := add(b, oldb);
c := add(c, oldc);
d := add(d, oldd);

inc(i,16);
end;
Result:= rhex(a) + rhex(b) + rhex(c) + rhex(d);
end;

end.




Şimdi projemizde implementation altına pas dosyamızı include edelim.


uses
md5;

Formumuza şimdi:
- 1 adet Tedit
- 1 adet Tlabel
- 1 adette Tbutton ekleyin

Tbutton un onClik (Tıklayınca) olayına aşağıdaki kodu yazınız...


Label1.Caption := MD_5(Edit1.Text);


edit1 içine girilen değeri size md5 olarak şifreleyip label1'in caption değerine yazacaktır.
Sayfa başına dön Aşağa gitmek
 
Delphi'de MD5 Şifreleme
Sayfa başına dön 
1 sayfadaki 1 sayfası

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
|Refleks|-Oyun,Tasarım,Film,Program,Tek link,İndir :: Bilgisayar Dersleri :: Delphi-
Buraya geçin: