![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Шифрация/Дешифрация файлов [D5, Win2k, WinXP]
XHunter © (2003-10-29 21:31:00)
Решил попробовать использовать функцию API EncryptFile()
EncryptFile(FileName);
Компилируется нормально, но при запуске выдает:
"Точка входа в процедуру EncryptFile не найдена в библиотеке DLL kernel32.dll" Что может быть? Как с этим бороться?
Diesel (2003-12-16 14:07:00) [1]
А по конкретнее о крптовании файлов можно ?
если не тяжело то ответ на мыло :))
XHunter (2003-11-14 21:03:00) [2]
Спасибо всем! Проблему решил - таки с помощью API, очень класно все описано в SDK, правда для C. Пришлось переводить... Поулчилось!
Brahman (2003-10-30 16:24:00) [3]
Лучше с этим не вязаться, а использовать опубликованные библиотеки, например, от CRYPTOCard Corporation
MD5
RC5
RC4
IDEA
BLOWFISH
DES
С исходниками на Delphi
savva (2003-10-30 15:06:00) [4]
http://rsdn.ru/article/crypto/cryptoapi.xml
Reindeer Moss Eater (2003-10-30 12:47:00) [5]
Подробней, чем MSCryptoSDK нет.
Если кратко, то для криптования нужны свои приватные ключи и открытые ключи корреспондентов, нужно специфицировать желаемые алгоритмы, форматы и т.д.
CryptAcquireContext,CryptSetProvParam и т.д.
XHunter (2003-10-30 12:33:00) [6]
А поподробней
Reindeer Moss Eater (2003-10-30 12:10:00) [7]
может нужно еще что - то выполнить?
Разумеется.
Открыть контексты ключей, тасков, сертификатов и т.д.
XHunter (2003-10-30 12:04:00) [8]
To DVP
Так получилось, но файл каким был, таким и остался, может нужно еще что - то выполнить?
dvp (2003-10-30 11:49:00) [9]
EncryptFileW
nollie (2003-10-30 11:48:00) [10]
попробуй
procedure coding;
begin
(* шифрование заменой символов *)
for I := 1 to Length (Line) do
if Line [I] >= #32 then begin
J := Ord (Line [I]) - 32;
K := Ord (PassWord [I mod 13]) - 32;
Line [I] := Chr ((J + 224 - K) mod 224 + 32)
end;
end;
procedure decoding;
begin
(* дешифрирование замены символов *)
for I := 1 to Length (Line) do
if Line [I] >= #32 then begin
J := Ord (Line [I]) - 32;
K := Ord (PassWord [I mod 13]) - 32;
Line [I] := Chr ((J + K) mod 224 + 32)
end;
end;
хоть и больше кода, зато проблем меньше
XHunter (2003-10-30 11:10:00) [11]
To nikkie
Реплика, как бы мягко выразится, абсолютно безполезна. Я ж ясно указал, что 95/98 и не пахнет! Если нечего сказать, то лучше промолчать...
nikkie (2003-10-29 21:44:00) [12]
Requirements
Windows NT/2000: Requires Windows 2000.
Windows 95/98: Unsupported.