Что нового

зашифровать файл

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
???

Код:
FileEncrypt("Autoit.txt","MyPassword_1","Encrypt1.Data")
FileDecrypt("Encrypt1.Data","MyPassword_1",@ScriptDir & "\Decrypt")
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Код:
#include <string.au3>
$file = FileOpen("Test.txt", 0); открыть исходный текстовый файл для чтения
If $file = -1 Then ; проверка существования файла
    MsgBox(16, "Error", "Unable to open file.")
    Exit
EndIf
$chars = FileRead($file) ; прочитать текст файла в переменную
FileClose($file) ; закрыть раннее открытый файл
$new = _StringEncrypt(1, $chars, "pass"); зашифровать ранее прочитанный текст файла с паролем pass по алгоритму RC4 и сохранить результат в переменную
$file = FileOpen("Test.txt", 2); открыть исходный файл для записи
If $file = -1 Then ; проверка существования файла
    MsgBox(16, "Error", "Unable to open file.")
    Exit
EndIf
FileWrite($file, $new); записать в открытый для записи файл шифрованный текст из переменной
FileClose($file); закрыть ранее открытый файл
Exit


Код писал по справке AutoIt3_2_5_4_ru.chm

Yashied
Что-то не нахожу FileEncrypt и FileDecrypt.
Это где?
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
218
Код:
#Include <Crypt.au3>
_Crypt_Startup()
_Crypt_EncryptFile($sSourceFile, $sDestinationFile, $vCryptKey, $iALG_ID)
_Crypt_DecryptFile($sSourceFile, $sDestinationFile, $vCryptKey, $iALG_ID)
_Crypt_Shutdown()

Пример в хелпе.
Доступно несколько алгоритмов включая aes256.
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
dwerf
Спасибо.


Добавлено:
Сообщение автоматически объединено:

А как вот узнать шифрован файл или нет ?, что бы принять решение - шифровать его или расшифровывать?
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
218
Yuriy [?]
А как вот узнать шифрован файл или нет ?, что бы принять решение - шифровать его или расшифровывать?
Самый безопасный способ наверное - запомнить.
А вообще можно например в файл после шифровки какую нибудь строчку дописать, если строчка есть, значит шифрован.
Или расширение для шифрованых файлов использовать, типа *.crypted.
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
dwerf
Ок.
Способ записи в конец файла сигнатуры о зашифрованности файла подходит.
Интересно, а с PE (exe, dll, например) как быть? Или эта UDF библиотека только для текстовых файлов?
Блин, я тут, похоже больше вопросов задаю, чем автор.
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Понятно. Файлы формата PE все равно надо перед использованием расшифровать, а значит привести их в исходный вид
(без какой-либо модификации - ни байт вправо, ни байт влево относительно исходного). Значит все должно работать.
 
Автор
1

11exx

Новичок
Сообщения
24
Репутация
3
а как быть с папкой?
Crypt.au3 с папками не работает ...
 

Guezt

Продвинутый
Сообщения
335
Репутация
81
OffTopic:
Смерть кащея в игле, игла в яйце, яичко в гнезде )) - это я про то, что можно дабавить папку в архив с паролем и еще зашифровать архив как файл ;D
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
218
Guezt [?]
Смерть кащея в игле, игла в яйце, яичко в гнезде )) - это я про то, что можно дабавить папку в архив с паролем и еще зашифровать архив как файл
OffTopic:
Уа-а, да не в том!

Проще всего наверное действительно взять какой нибудь 7z.exe и сделать шифрованный архив.
Только шифровать его два раза по моему смысла нет.

А если чисто на AutoIt то можно с помощью FileRead и FileWirte переписать всё содержимое папки в один файл ну и тд. Если надо, могу нарисовать функцию для этого.
 

Guezt

Продвинутый
Сообщения
335
Репутация
81
Ну я вообще, как бы о возможности "невозможности" шифрования папки, намек просто дал, архив можно сделать и без сжатия, это займет секунды иногда даже меньше секунды :smile:, в любом случае можно зашифровать все файлы прибегнув к рекурсии получить весь список файлов и по условию пока все файлы не зашифрованы - выполнять шифрование :smile:
 
Автор
1

11exx

Новичок
Сообщения
24
Репутация
3
архивировать не выход ...
папка может быть большой и даже без сжатия архивирование займёт много времени...
по отдельности шифровать файлы внутри папки не очень удобно ...
нет вариантов?
 

snoitaleR

AutoIT Гуру
Сообщения
854
Репутация
223
11exx

Если нужны варианты, то такой вариант: использовать шифрованный диск TRUECRYPT или аналогичный...
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
11exx
большой файл при любой побайтовой обработке будет занимать много времени. от этого никуда не деться. только потому, что они в одной папке, не означает, что файлы "вдруг" обработаются быстрее. к слову говоря, архивирование без сжатия - это простой способ создания непрерывного (solid) файла в котором один за другим записаны содержимое каждого из файлов + некоторая служебная информация типа названия родительской папки, структуры папок, поэтому скорость такой обработки почти равно скорости копирования - что для нормальных современных хардов величина довольно высокая. поэтому опасения излишни. а шифровать папки по отдельности действительно займет больше времени, но это время будет тем меньше - чем меньше кол-во файлов.
 
Автор
1

11exx

Новичок
Сообщения
24
Репутация
3
опытным путём установленно, что шифрование значительно быстрее архивирования значит архивирование не лучший вариант.
программ по шифрованию море, но хотелось именно автоитом замутить.
 
Верх