Sergey2210
Осваивающий
- Сообщения
- 263
- Репутация
- 31
Версия AutoIt:3.
Описание: Данный пример предназначен для шифрования
данных и создания базы с данными.
Как работает: функция записывает в файл
зашифрованные данные с применением ключа,
предварительно проверив файл на существование
этого ключа,если ключ существует то функция
не записывает значение в файл и выводит результат "0"
если же файл не содержит введённого вами ключа то
записывает ваше значение в следующую строчку файла.
Так же есть функция для вывода значения из файла по его
ключу,достаточно указать файл,ключ и ваш пароль и
функция замены значения в выбранном ключе.
Пример:
Обновление:
Описание: Данный пример предназначен для шифрования
данных и создания базы с данными.
Как работает: функция записывает в файл
зашифрованные данные с применением ключа,
предварительно проверив файл на существование
этого ключа,если ключ существует то функция
не записывает значение в файл и выводит результат "0"
если же файл не содержит введённого вами ключа то
записывает ваше значение в следующую строчку файла.
Так же есть функция для вывода значения из файла по его
ключу,достаточно указать файл,ключ и ваш пароль и
функция замены значения в выбранном ключе.
Пример:
Код:
#include <String.au3>
$Data = "Текст (от лат. textus «ткань; сплетение, связь, сочетание») — в общем особо полная последовательность знаков." & @Crlf & _
"Существуют две основных трактовки понятия «текст»: «имманентная» (расширенная, философски нагруженная) и «репрезентативная» "& @Crlf & _
"(более частная). Имманентный подход подразумевает отношение к тексту как к автономной реальности, нацеленность на выявление "& @Crlf & _
"его внутренней структуры. Репрезентативный — рассмотрение текста как особой формы представления знаний о внешней тексту действительности."& @Crlf & _
"В лингвистике термин текст используется в широком значении, включая и образцы устной речи. Восприятие текста изучается в "& @Crlf & _
"рамках лингвистики текста и психолингвистики. Так, например, И.Р. Гальперин определяет текст следующим образом: "& @Crlf & _
"это письменное сообщение, объективированное в виде письменного документа, состоящее из ряда высказываний, объединённых разными типами "& @Crlf & _
"лексической, грамматической и логической связи, имеющее определённый моральных характер, прагматическую установку и соответственно литературно обработанное."
$Write = __Base_WriteKey("base.auf","AutoIt.Script",$Data,12345)
;If $Write = 0 Then MsgBox(0,"Ошибка","Данный ключ уже существует в базе данных")
;__Base_ReplaceKey("base.auf","AutoIt.Script","Замененная строка",12345)
$Read = __Base_ReadKey("base.auf","AutoIt.Script",12345)
MsgBox(0,'Значение',$Read)
; #FUNCTION# ====================================================================================================================
; Name...........: __Base_WriteKey
; Description....: Writes a value.
; Syntax.........: __Base_WriteKey($wBase,$wKey,$wValue,$wPassw)
; Parameters.....: $wBase - Name of a file of base.
; $wKey - The key name.
; $wValue - Value.
; $wPassw - Password.
;
; Return values..: If the key exists that value does not register,
; if there is no that registers the next line
; Author.........: Sergey2210
; Modified.......:
; Remarks........:
; Related........:
; Link...........: http://autoit-script.ru/index.php?action=profile
; Example........: Yes
; ===============================================================================================================================
Func __Base_WriteKey($wBase,$wKey,$wValue,$wPassw)
Global $__Base_wResult
$__Base_wOpen = FileOpen($wBase)
$__Base_wReadKey = FileRead($__Base_wOpen)
$__Exists_wCode = _HexToString(_StringEncrypt(1,StringToBinary($wKey),$wPassw))
If StringInStr ($__Base_wReadKey,$__Exists_wCode) = 1 Then
$__Base_wResult = 0
Else
If StringInStr ($__Base_wReadKey,$__Exists_wCode) = 0 Then
$__Base_wData = _HexToString(_StringEncrypt(1,StringToBinary($wKey & ": " & $wValue),$wPassw))
FileWriteLine($wBase,$__Base_wData)
$__Base_wResult = 1
EndIf
EndIf
FileClose($__Base_wOpen)
Return $__Base_wResult
EndFunc
; #FUNCTION# ====================================================================================================================
; Name...........: __Base_ReadKey
; Description....: Read a value.
; Syntax.........: __Base_ReadKey($rBase,$rKey,$rPassw)
; Parameters.....: $rBase - Name of a file of base.
; $rKey - The key name.
; $rPassw - Password.
;
; Return values..:
; Author.........: Sergey2210
; Modified.......:
; Remarks........:
; Related........:
; Link...........: http://autoit-script.ru/index.php?action=profile
; Example........: Yes
; ===============================================================================================================================
Func __Base_ReadKey($rBase,$rKey,$rPassw)
Global $__Base_rResult
$__Base_rOpen = FileOpen($rBase)
$__Base_rReadKey = FileRead($__Base_rOpen)
$__Exists_rCode = _HexToString(_StringEncrypt(1,StringToBinary($rKey),$rPassw))
$__Base_rLine = StringSplit($__Base_rReadKey, @CRLF, 1)
For $i = 1 To $__Base_rLine[0] Step +1
If StringInStr($__Base_rLine[$i], $__Exists_rCode)=1 Then
$__Base_rEncode = BinaryToString(_StringEncrypt(0,_StringToHex($__Base_rLine[$i]),$rPassw))
$__Base_rLen = StringLen($rKey)
$__Base_rValue = StringTrimLeft($__Base_rEncode,$__Base_rLen+2)
$__Base_rResult = $__Base_rValue
EndIf
Next
FileClose($__Base_rOpen)
Return $__Base_rResult
EndFunc
; #FUNCTION# ====================================================================================================================
; Name...........: __Base_ReplaceKey
; Description....: Replace a value.
; Syntax.........: __Base_ReplaceKey($vBase,$vKey,$vNewValue,$vPassw)
; Parameters.....: $vBase - Name of a file of base.
; $vKey - The key name.
; $vNewValue - New value
; $vPassw - Password.
;
; Return values..: Sucess - 1
; Author.........: Sergey2210
; Modified.......:
; Remarks........:
; Related........:
; Link...........: http://autoit-script.ru/index.php?action=profile
; Example........: Yes
; ===============================================================================================================================
Func __Base_ReplaceKey($vBase,$vKey,$vNewValue,$vPassw)
Global $__Base_vResult
$__Base_vOpen = FileOpen($vBase)
$__Base_vReadKey = FileRead($__Base_vOpen)
$__Exists_Code = _HexToString(_StringEncrypt(1,StringToBinary($vKey),$vPassw))
$__Replace_Code = _HexToString(_StringEncrypt(1,StringToBinary($vKey & ": " & $vNewValue),$vPassw))
FileClose($__Base_vOpen)
$__Base_vLine = StringSplit($__Base_vReadKey, @CRLF, 1)
For $i = 1 To $__Base_vLine[0] Step +1
If StringInStr($__Base_vLine[$i], $__Exists_Code)=1 Then
$__Base_vKey = StringReplace($__Base_vReadKey,$__Base_vLine[$i],$__Replace_Code)
$__BaseReplace_vFile = FileOpen($vBase,2)
FileWrite($__BaseReplace_vFile,$__Base_vKey)
FileClose($__BaseReplace_vFile)
$__Base_vResult = 1
EndIf
Next
Return $__Base_vResult
EndFunc
Обновление:
Добавлена функция замены значения в ключе
__Base_ReplaceKey()
__Base_ReplaceKey()