Форум: "Основная";
Текущий архив: 2002.11.28;
Скачать: [xml.tar.bz2];
Вниз
Алгоритм шифрования Найти похожие ветки
← →
Andre V. (2002-11-19 11:45) [0]Hi! Подскажите алгоритм одностороннего шифрования, т.е. из А в Б, но не из Б в А.
← →
Separator (2002-11-19 11:51) [1]т.е. Чтоб нельзя было расшифровать? так нельзя сделать
← →
Andre V. (2002-11-19 11:52) [2]UP!
← →
Anatoly Podgoretsky (2002-11-19 11:53) [3]For I := 1 to N do buf[i]:=0;
← →
Skier (2002-11-19 11:56) [4]>Andre V.
Класс для кодирования/декодирования файла. (c) Марко Кэнту
unit EncodStr;
interface
uses
Classes;
type
TEncodedStream = class (TFileStream)
private
FKey: Char;
public
constructor Create(const FileName: string; Mode: Word);
function Read(var Buffer; Count: Longint): Longint; override;
function Write(const Buffer; Count: Longint): Longint; override;
property Key: Char read FKey write FKey default "A";
end;
implementation
constructor TEncodedStream.Create(
const FileName: string; Mode: Word);
begin
inherited Create (FileName, Mode);
FKey := "A";
end;
function TEncodedStream.Write(const Buffer;
Count: Longint): Longint;
var
pBuf, pEnc: PChar;
I, EncVal: Integer;
begin
// allocate memory for the encoded buffer
GetMem (pEnc, Count);
try
// use the buffer as an array of characters
pBuf := PChar (@Buffer);
// for every character of the buffer
for I := 0 to Count - 1 do
begin
// encode the value and store it
EncVal := ( Ord (pBuf[I]) + Ord(Key) ) mod 256;
pEnc [I] := Chr (EncVal);
end;
// write the encoded buffer to the file
Result := inherited Write (pEnc^, Count);
finally
FreeMem (pEnc, Count);
end;
end;
function TEncodedStream.Read(var Buffer; Count: Longint): Longint;
var
pBuf, pEnc: PChar;
I, CountRead, EncVal: Integer;
begin
// allocate memory for the encoded buffer
GetMem (pEnc, Count);
try
// read the encoded buffer from the file
CountRead := inherited Read (pEnc^, Count);
// use the output buffer as a string
pBuf := PChar (@Buffer);
// for every character actually read
for I := 0 to CountRead - 1 do
begin
// decode the value and store it
EncVal := ( Ord (pEnc[I]) - Ord(Key) ) mod 256;
pBuf [I] := Chr (EncVal);
end;
finally
FreeMem (pEnc, Count);
end;
// return the number of characters read
Result := CountRead;
end;
end.
← →
Andre V. (2002-11-19 11:57) [5]Ценю Ваши шуточки. Предполагается, что множесто А отображается на множесто Б неоднозначно.
← →
Reindeer Moss Eater (2002-11-19 12:00) [6]MD5
← →
Anatoly Podgoretsky (2002-11-19 12:02) [7]Для неодназначности можно применить рандом, но тебе задали уточняющий вопрос Separator © (19.11.02 11:51)
← →
Sirus (2002-11-19 12:08) [8]Можешь сделать SHL или SHR строки и получится белиберда...
Сделаешь два раза получится 2 Х Белиберда...
← →
han_malign (2002-11-19 12:21) [9]Любой алгоритм с добавлением случайного ключа.
2 All Применяется для обмена шифрованными сообщениями, в течении сессии ключ обычно меняется, правда, все равно, надо как то извратиться при обмене ключами(как вариант открытый ключ, генерящийся из локального серверного по определенному алгоритму, или шифровать предыдущим ключем). При постоянной смене ключа, нет достаточно данных для взлома перебором. Кажется так. Такие алгоритмы применяются в радио/сотовой связи(конкретно некоторые радиотрубки), но как реализованы - ... знает.
З.Ы. Правда взломать можно все, вопрос кому это надо.
З.З.Ы. В Росси запрещено пользоваться криптографическими алгоритмами не зарегистрированными в ФСБ, одно из условий регистрации - наличие универсального ключа известного ФСБ.
← →
Andre V. (2002-11-19 12:46) [10]Идея состояла в том, чтобы хранить имена пользователей системы и кодированные пароли. Пользователь вводит свое имя и пароль, он кодируется по известному алгоритму и сравнивается с сохраненным. Если совпадают, то пароль был верным.
← →
Andre V. (2002-11-19 12:48) [11]P.S. Сломать действительно можно все. Но что-то трудней, а что-то легче.
← →
Reindeer Moss Eater (2002-11-19 12:50) [12]>Andre V.
Тебе же сказали - MD5
← →
Anatoly Podgoretsky (2002-11-19 12:54) [13]Так это не односторонний :-), а не симметричный алгоритм, позволяет расшифровать зашифрованное сообщение.
← →
Andre V. (2002-11-19 13:53) [14]Was Ist MD5???
← →
Reindeer Moss Eater (2002-11-19 13:55) [15]Алгоритм одностороннего шифрования (хеширования)
← →
Andre V. (2002-11-19 14:00) [16]Как ????
← →
Anatoly Podgoretsky (2002-11-19 14:01) [17]Reindeer Moss Eater (19.11.02 13:55)
Перепутал, это подойдет, точнее то что нужно
← →
Reindeer Moss Eater (2002-11-19 14:07) [18]Andre V.
Например Indy 8.0.22, TIdCoderMD5
← →
Andre V. (2002-11-19 14:47) [19]СПАСИБО!!!!!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.11.28;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.007 c