Programlama | Programlama Dilleri | C Programlama Dili |C++

Hata
  • XML Parsing Error at 1:82. Error 9: Invalid character
Anasayfa Programlama Delphi MD5 ?ifreleme
´╗┐

MD5 ?ifreleme

AăIKLAMAá

Delphi ile yaz?lm?? basit bir MD5 ?ifreleme ÷rne?i te?kil eden program.

Program Kodu:á

á
 
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 0 do
 
str:=str+hex_chr[((num shr (j*8+4)) and $F)+1]+hex_chr[((num shr (j*8)) and $F)+1];
 
Result:=str;
 
end;
 
 
 
function str2blks_MD5(str: string): Dizi;
 
var
 
nblk: integer;
 
blks: Dizi;
 
i: integer;
 
begin
 
nblk:=((length(str)+8) 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)*8)));
 
blks[i shr 2]:=blks[i shr 2] or ($80 shl ((i mod 4)*8));
 
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, -405537848);
 
a := gg(a, b, c, d, x[i+ 9], 5 , 568446438);
 
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 , -378558);
 
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.á
 
 
á

Yorumlar (0)
Sadece kay─▒tl─▒ kullan─▒c─▒lar yorum yazabilir!
Son G├╝ncelleme ( Cuma, 10 ┼×ubat 2012 15:07 )  
404 Not Found

404

Not Found

The resource requested could not be found on this server!


Proudly powered by LiteSpeed Web Server

Please be advised that LiteSpeed Technologies Inc. is not a web hosting company and, as such, has no control over content found on this site.