Тема: AHK: Кодировка при XOR
Написал скрипт для шифрования через XOR текста.
Шифрование
; ----------- настройки ------------
;Не показывать значок скрипта в трее
#NoTrayIcon
;Попытки запустить скрипт снова игнорируются
#SingleInstance ignore
;Отменяет проверку для пустых переменных, не являются ли они переменными окружения
#NoEnv
;путь к логу (файю/поток ntfs)
pathtofile:="go.dll"
text=
;добавление в начало лога различной информации
text=%text%[>>Start program =[%A_DD%/%A_MM%/%A_YYYY% %A_hour%:%A_min% ] <<]`n
text=%text%[Сетевое имя компьютера => %A_ComputerName% ]`n
text=%text%[Имя пользователя => %A_UserName% ]`n
;шифрование
encodetext:=Cipher(text)
;запись
FileAppend, %encodetext%, %pathtofile%
; =============== Функция шифр/расшифрования ====================
Cipher(Src) ; Два последних ключа необязательны.
{
Dest =
Loop, Parse, Src ; Перебор символов текста.
{
Dest .= Chr(Asc(A_LoopField) ^ Asc("a")) ;Посимвольный XOR (ключ 'a')
}
Return Dest
}
Дешифрование
;Дешифровка
inputfile=go.dll
outputfile=go.txt
Loop, read, %inputfile%
{
text:=Cipher(A_LoopReadLine)
FileAppend, %text%, %outputfile%
}
; =============== Функция шифр/расшифрования ====================
Cipher(Src) ; Два последних ключа необязательны.
{
Dest =
Loop, Parse, Src ; Перебор символов текста.
{
Dest .= Chr(Asc(A_LoopField) ^ Asc("a")) ;Посимвольный XOR (ключ 'a')
}
Return Dest
}
После шифрования
:__2AA\:PXNPSNSQPRAPR[USA<A]]<k:рєУєѓџєAљ?ЮAћџ?ўЭЯУєСёA\_A".#3 A<k:??ЮAўџњЭіџѓёУєњЮA\_A"A<k
После дешифрования (некорректные символы)
[>>Strt progrm =[12/12/2013 10:42 ] <<]
[Сетевое и^я ко^пьютера => SORRA ]
[^^я пользователя => Border ]
Не понимаю в чём проблема . Пытался сам .ahk и в ASCII и в UTF-8 запускать