Что нового

Проверка на шифрование ini файла (_StringEncrypt)

Ksaan

Знающий
Сообщения
207
Репутация
15
В общем проблемка такая есть программа которая в начале расшифровывает ini и работает с ним а в конце шифрует опять. Во время работы словил ошибку, скрипт закрылся и как по глупости бывает запустил скрипт опять, а так как все данные оказались не зашифрованы их удалило :'(
Вопрос как проверить ini на шифровку? Идеи есть?
 

joiner

Модератор
Локальный модератор
Сообщения
3,557
Репутация
628
у меня такого не было. считал, расшифровал, сохранил в массив. потом зашифровал и сохранил в файл. никаких потерь нет.
удалять нужно непосредственно при перезаписи, чтобы минимизировать вероятность потери.
проверять нужно в памяти..
вобщем, пока не видно примера, и не ясно какая ошибка была, можно говорить лишь в общем
 

blacklis

Новичок
Сообщения
64
Репутация
1
http://autoit-script.ru/autoit3_docs/functions/StringRegExp.htm
Ты знаешь как выглядят не шифрованные данные - парсишь регуляркой
Ты знаешь как выглядят шифрованные данные - парсишь регуляркой
Ты ничего не знаешь - не парсишь регуляркой :IL_AutoIt_1:
Например, если шифрованные данные будут в виде 0x..xxxx - то вообще проблем распознать регулярными нет никаких
Ну, это если строки в файле шифруются,а не сам файл :blink:

А вообще, как уже сказали выше, лучше найти и устранить ошибку в своём скрипте, у меня все шифрования (клиент-сервер) отрабатывают всегда нормально.
 
Автор
Ksaan

Ksaan

Знающий
Сообщения
207
Репутация
15
Вот для примера что произошло у меня
Код:
#include <GUIConstantsEx.au3>
#include <String.au3>
Example()
Func Example()
 Local $msg
 $Key = "12345"
 $File = @ScriptDir 
IniWrite($File, "Section", "Key", "Test ini file")
 $Open_1 = FileOpen($File, 0)
 $Copied_text = FileRead($Open_1)

GUICreate("My GUI", 300, 200) 

 $Encrypt = GUICtrlCreateButton("Encrypt", 100, 150, 100, 30)
 $Edit1 = GUICtrlCreateEdit ($Copied_text, 10,10,280,130)
GUISetState()
 While 1
 $msg = GUIGetMsg()
 Switch $msg
 Case $GUI_EVENT_CLOSE 
 Exit
 Case $Encrypt
 $Coding_text = _StringEncrypt(0, $Copied_text, $Key, 1)
GUICtrlSetData($Edit1, $Coding_text, "")
EndSwitch

 WEnd
EndFunc ;==>Example
Ну за две недели это первая ошибка (Будем искать). Скрипт работает с ини файлом постоянно и всё время шифровать его :stars:
Код:
StringRegExp

Я вот тоже подумал про неё, но вот в этой заразе я не силен.
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
Ksaan
Каким образом в нем оказываются расшифрованные данные? Зачем?

Код:
Ini>Прочитали зашифрованные данные
...Расшифровали
...Обработали
...Зашифровали
Ini<Записали зашифрованные данные
 
Автор
Ksaan

Ksaan

Знающий
Сообщения
207
Репутация
15
Код:
Ini>Прочитали зашифрованные данные
...Расшифровали
...Обработали
...
...ошибка скрипта/пропал свет

Но спс blacklis натолкнул на мысль, будем решать через проверку.
Код:
StringRegExp($One_Line, "(^\[.+\]$)" , 0 , 1)
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Просто любопытно, что может такого храниться в .ini, требующее шифрования?
 
Автор
Ksaan

Ksaan

Знающий
Сообщения
207
Репутация
15
OffTopic:
Логины и пароли :smile: Дети малые, шифр еще думаю не взломают
 

blacklis

Новичок
Сообщения
64
Репутация
1
OffTopic:
На любое шифрование найдётся юзер, хранящий пароли в ini ;D
 
Верх