Показать сообщение отдельно
  #1  
Старый 16.02.2013, 17:02
Аватар для JunkieBeat
JunkieBeat JunkieBeat вне форума
Прохожий
 
Регистрация: 01.02.2013
Сообщения: 48
Версия Delphi: Delphi7 Lite Ed
Репутация: 10
По умолчанию Помогите с шифрованием

В нэте нашел две функции на вид отличные,но как оказалось это не совсем так
Код:
const
  StartKey = 359;//ключи на шифры
  MultKey = 61522;
  AddKey = 11785;
function TForm1.Encrypt(const InString: string; StartKey, MultKey,
  AddKey: Integer): string;
var
  I: Byte;     //Функция шифрования
begin
  Result := '';
  for I := 1 to Length(InString) do
  begin
    Result := Result + CHAR(Byte(InString[i]) xor (StartKey shr 8));
    StartKey := (Byte(Result[i]) + StartKey) * MultKey + AddKey;
  end;
end;
function TForm1.Decrypt(const InString: string; StartKey, MultKey,
  AddKey: Integer): string;
var
  I: Byte;   //функция дешифрирования
begin
  Result := '';
  for I := 1 to Length(InString) do
  begin
    Result := Result + CHAR(Byte(InString[i]) xor (StartKey shr 8));
    StartKey := (Byte(InString[i]) + StartKey) * MultKey + AddKey;
  end;
end;
При дешифрировании происходят ошибки,как правило кусок который как будто бы не дешифрировался или снос на новую строку лишний вылазиет. Возможно пользуюсь как то криво
Код:
procedure TForm1.Button5Click(Sender: TObject);
var
  i:integer; //Шифруем
begin
for i:=0 to Memo1.Lines.Count-1 do
begin
  Memo1.Lines[i]:=Encrypt(Memo1.Lines[i], StartKey, MultKey, AddKey);
end;
end;
Ответить с цитированием