Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

base64


macrohead ©   (2002-11-27 15:07:00) 

а не кто не знает как преобразовать в delphi закодированный текст в base64 в читабельный вид ???


dimich   (2002-11-27 15:46:00) [1]

Блин а я че то в методы шифрации полез...загнался....ничего бывает.


MBo   (2002-11-27 15:18:00) [2]

>Dimich
Ничего не путаешь?


Dimich   (2002-11-27 15:14:00) [3]

Ну ты даешь....так то можно раскодировать(зная алгоритм), но есть небольшая заминка....там по ключу кодируется, т.е. зная ключ вполне можно раскодировать, ну на худой конец можно попробовать в ключе поставить "пусто", но это вряд ли прокатит.


MBo   (2002-11-27 15:11:00) [4]

...encode / decode Base64 string?
Author: Yurii Zhukow



const
Codes64 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/";

function Encode64(S: string): string;
var
i: Integer;
a: Integer;
x: Integer;
b: Integer;
begin
Result := "";
a := 0;
b := 0;
for i := 1 to Length(s) do
begin
x := Ord(s[i]);
b := b * 256 + x;
a := a + 8;
while a >= 6 do
begin
a := a - 6;
x := b div (1 shl a);
b := b mod (1 shl a);
Result := Result + Codes64[x + 1];
end;
end;
if a > 0 then
begin
x := b shl (6 - a);
Result := Result + Codes64[x + 1];
end;
end;

function Decode64(S: string): string;
var
i: Integer;
a: Integer;
x: Integer;
b: Integer;
begin
Result := "";
a := 0;
b := 0;
for i := 1 to Length(s) do
begin
x := Pos(s[i], codes64) - 1;
if x >= 0 then
begin
b := b * 64 + x;
a := a + 6;
if a >= 8 then
begin
a := a - 8;
x := b shr a;
b := b mod (1 shl a);
x := x mod 256;
Result := Result + chr(x);
end;
end
else
Exit;
end;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо