blob: 53b2d996dacc3a6b85cd46eac4477882dd4456da (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
unit md5_mod256_unit;
interface
Uses
MD5_Unit, sysutils, classes, windows;
Const
MSize = 256;
Type
tiAr = array [0..255] of integer;
Function MD5_Mod(s: String): String;
Function MD5_Matrix(s: string): tArr;
Function str_back(s: String): String;
implementation
//==============================================================================
Function str_back(s: String): String;
Var
i: integer;
Begin
result := '';
for i := Length(s) downto 1 do result := result + s[i];
end;
//==============================================================================
Function MD5_Mod_back(s: String): String;
Var
s1, s2 : String;
k : word;
Begin
s1 := str_back(s)+s;
s2 := md5(str_back(s)+str_back(md5(s))+
str_back(md5(s+s))+
str_back(md5(s+s+s))+
str_back(md5(s+s+s+s))+
str_back(md5(s+s+s+'asddsa'+s)));
For k:=1 to trunc(sqrt(MSize))-1 do
Begin
s1 := md5(s1 + s2 + md5(s1+s1+s2+s) + md5(s2+s2+s1+s) + s);
s2 := str_back(s2 + str_back(md5(s1+s2+md5(s))));
End;
result:=s2;
end;
//==============================================================================
Function MD5_Mod(s: String): String;
Var
s1, s2 : String;
k : word;
Begin
s1 := s + AnsiUpperCase(s) + AnsiLowerCase(s);
s2 := md5(s+md5(s)+md5(s+s)+md5(s+AnsiUpperCase(s)+s)+md5(s+AnsiLowerCase(s+s)+s)+md5(s+s+str_back(s+s+'qweewq')));
For k:=1 to trunc(sqrt(MSize))-1 do
Begin
s1 := md5(s1 + str_back(s2) + md5(s1+s1+s2+s) + str_back(md5(s2+s2+s1+s)) + s);
s2 := str_back(s2 + md5(s1+AnsiUpperCase(s2+md5(s))));
End;
result:=s2;
end;
//==============================================================================
//==============================================================================
end.
|