كيف يتم حل معادلة تشفير كلمة السر
#21
التعديلات فى الدالفى 2009 .

PHP كود :
function Encrypt(s:AnsiString):AnsiString;
var 
i,b:byte;
var 
aux,aux2:AnsiString;
begin
     aux2
:='r#gg&P~<gthb8b=r#gg&P~<gthb8b=';
     
aux:=s;
     for 
i:=1 to length(s)do
     
begin
       b
:=ord(s[i])+ord(aux2[i])+(length(s)*23)+(i*49);
       
aux[i]:= AnsiChar(chr(b));
     
end;
     
Encrypt:=aux;
end

PHP كود :
Function Dcyt(S:AnsiString):AnsiString;
Const 
Aux2 'r#gg&P~<gthb8b=r#gg&P~<gthb8b=';
var
 
I:Longword;
begin
  
for := Low(I)+1 To Length(S)  do
  
Result:=Result+AnsiChar(Chr(Ord(S[I])-(Ord(Aux2[i])+Length(S)*23+(I*49))));
end

الكلمة byby ??????? .
الرد
#22
وعليكم السلام
اليوم فقط وقعت على هذا الموضوع، فيما يخص التعديلات على Delphi2010، بهذا الشكل:
PHP كود :
function Encrypt(sAnsiString): String;
var
  
ibbyte;
var
  
auxaux2AnsiString;
begin
  aux2 
:= 'r#gg&P~<gthb8b=r#gg&P~<gthb8b=';
  
aux := s;
  for 
:= 1 to length(s) do
  
begin
    b 
:= ord(s[i]) + ord(aux2[i]) + (length(s) * 23) + (49);
    
aux[i] := AnsiChar(chr(b));
  
end;
  
Encrypt := aux;
end;

Function 
Dcyt(sAnsiString): String;
Const
  
aux2AnsiString 'r#gg&P~<gthb8b=r#gg&P~<gthb8b=';
var
  
iLongword;
begin
  
for := Low(i) + 1 To length(s) do
    
Result := Result AnsiChar
      
(chr(ord(s[i]) - (ord(aux2[i]) + length(s) * 23 + (49))));
end
ولا حاجة لتحويل ناتج الدوال إلى AnsiString وتحويل البراميتر في Encrypt فقط لدعم Unicode.
يبقى كلمة byby أعتقد أنه وقع في التشفير رمز يصعب فك تشفيره فتحول إلى شكل آخر، حاول إضافة نقطة بعد byby وستجد النتيجة صحيحة.
شكرا كثيرا لكم.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم