BrettF Posted February 3, 2008 Share Posted February 3, 2008 Can anyone see why this: $s_EncryptText = 'Test' $i_EncryptCountG = '' $i_EncryptCountH = '' $s_EncryptPassword = 'test' $v_EncryptModified = '' $cnt = StringLen($s_EncryptText) For $i_EncryptCountG = 1 To StringLen($s_EncryptText) ConsoleWrite(">> Loop G>> " & $i_EncryptCountG & "/" & $cnt & @CRLF) If $i_EncryptCountH = StringLen($s_EncryptPassword) Then $i_EncryptCountH = 1 Else $i_EncryptCountH += 1 ConsoleWrite(">> Loop G>> Var = $i_EncryptCountH>>" & $i_EncryptCountH & @CRLF) EndIf $stringmid1 = StringMid($s_EncryptText, $i_EncryptCountG, 1) $stringmid2 = StringMid($s_EncryptPassword, $i_EncryptCountH, 1) $asc1 = Asc($stringmid2) $asc2 = Asc($stringmid2) $bitxor = BitXOR($asc1, $asc2, 255) $chr = Chr($bitxor) $v_EncryptModified = $v_EncryptModified & $chr ConsoleWrite(">> Loop G>> Var = $v_EncryptModified>>" & $v_EncryptModified & @CRLF) Next Returns different from: For $i_EncryptCountG = 1 To StringLen($s_EncryptText) ConsoleWrite(">> Loop G>> " & $i_EncryptCountG & "/" & $cnt & @CRLF) If $i_EncryptCountH = StringLen($s_EncryptPassword) Then $i_EncryptCountH = 1 Else $i_EncryptCountH += 1 ConsoleWrite(">> Loop G>> Var = $i_EncryptCountH>>" & $i_EncryptCountH & @CRLF) EndIf $v_EncryptModified = $v_EncryptModified & Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) ConsoleWrite(">> Loop G>> Var = $v_EncryptModified>>" & $v_EncryptModified & @CRLF) Next Vist my blog!UDFs: Opens The Default Mail Client | _LoginBox | Convert Reg to AU3 | BASS.au3 (BASS.dll) (Includes various BASS Libraries) | MultiLang.au3 (Multi-Language GUIs!)Example Scripts: Computer Info Telnet Server | "Secure" HTTP Server (Based on Manadar's Server)Software: AAMP- Advanced AutoIt Media Player | WorldCam | AYTU - Youtube Uploader Tutorials: Learning to Script with AutoIt V3Projects (Hardware + AutoIt): ArduinoUseful Links: AutoIt 1-2-3 | The AutoIt Downloads Section: | SciTE4AutoIt3 Full Version! Link to comment Share on other sites More sharing options...
Developers Jos Posted February 3, 2008 Developers Share Posted February 3, 2008 (edited) Nvm , i'll post the result againi tried runningI asked to ATTACH the script not to Cut& Paste the scriptcode into the post. I would like to see the ORIGINAL input file and be able to test with the exact same input as you are doing. Reason is I want to make sure we are using the same encoding in the source file.Jos Edited February 3, 2008 by Jos SciTE4AutoIt3 Full installer Download page  - Beta files    Read before posting   How to post scriptsource   Forum etiquette Forum Rules  Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
BrettF Posted February 3, 2008 Share Posted February 3, 2008 I asked to ATTACH the script not to Cut& Paste the scriptcode into the post. I would like to see the ORIGINAL input file and be able to test with the exact same input as you are doing. Reason is I want to make sure we are using the same encoding in the source file.JosYou got to bold to get a result Vist my blog!UDFs: Opens The Default Mail Client | _LoginBox | Convert Reg to AU3 | BASS.au3 (BASS.dll) (Includes various BASS Libraries) | MultiLang.au3 (Multi-Language GUIs!)Example Scripts: Computer Info Telnet Server | "Secure" HTTP Server (Based on Manadar's Server)Software: AAMP- Advanced AutoIt Media Player | WorldCam | AYTU - Youtube Uploader Tutorials: Learning to Script with AutoIt V3Projects (Hardware + AutoIt): ArduinoUseful Links: AutoIt 1-2-3 | The AutoIt Downloads Section: | SciTE4AutoIt3 Full Version! Link to comment Share on other sites More sharing options...
Innovative Posted February 3, 2008 Author Share Posted February 3, 2008 I asked to ATTACH the script not to Cut& Paste the scriptcode into the post. I would like to see the ORIGINAL input file and be able to test with the exact same input as you are doing. Reason is I want to make sure we are using the same encoding in the source file.Jos Ok , heres the attached .au3 and the returned value.StringEncrypt.au3 Link to comment Share on other sites More sharing options...
Developers Jos Posted February 3, 2008 Developers Share Posted February 3, 2008 (edited) Ok... It didn't change anything for me and is still working, but that excluded the file encoding being an issue. We need to go through some steps now to try end find the root cause of the probem so bare with me. Please run the attached script, which is stripped and has some consolewrite() debug statements, and Cut&Paste the information from the SciTE Output pane into your reply: expandcollapse popup$enc = _StringEncrypt(1, "test", "test") ConsoleWrite("--" & $enc & "--" & @crlf) ; Func _StringEncrypt($i_Encrypt, $s_EncryptText, $s_EncryptPassword) If $i_Encrypt <> 0 And $i_Encrypt <> 1 Then SetError(1) Return '' ElseIf $s_EncryptText = '' Or $s_EncryptPassword = '' Then SetError(1) Return '' EndIf $i_EncryptLevel = 1 Local $v_EncryptModified Local $i_EncryptCountH Local $i_EncryptCountG Local $v_EncryptSwap Local $av_EncryptBox[256][2] Local $i_EncryptCountA Local $i_EncryptCountB Local $i_EncryptCountC Local $i_EncryptCountD Local $i_EncryptCountE Local $v_EncryptCipher Local $v_EncryptCipherBy If $i_Encrypt = 1 Then ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $i_Encrypt = ' & $i_Encrypt & @crlf & '>Error code: ' & @error & @crlf);### Debug Console For $i_EncryptCountF = 0 To $i_EncryptLevel Step 1 ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $i_EncryptCountF = ' & $i_EncryptCountF & @crlf & '>Error code: ' & @error & @crlf);### Debug Console $i_EncryptCountG = '' $i_EncryptCountH = '' $v_EncryptModified = '' For $i_EncryptCountG = 1 To StringLen($s_EncryptText) If $i_EncryptCountH = StringLen($s_EncryptPassword) Then $i_EncryptCountH = 1 Else $i_EncryptCountH += 1 EndIf ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $i_EncryptCountH = ' & $i_EncryptCountH & @crlf & '>Error code: ' & @error & @crlf);### Debug Console $v_EncryptModified = $v_EncryptModified & Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $v_EncryptModified = ' & $v_EncryptModified & @crlf & '>Error code: ' & @error & @crlf);### Debug Console Next $s_EncryptText = $v_EncryptModified $i_EncryptCountA = '' $i_EncryptCountB = 0 $i_EncryptCountC = '' $i_EncryptCountD = '' $i_EncryptCountE = '' $v_EncryptCipherBy = '' $v_EncryptCipher = '' $v_EncryptSwap = '' $av_EncryptBox = '' Local $av_EncryptBox[256][2] For $i_EncryptCountA = 0 To 255 $av_EncryptBox[$i_EncryptCountA][1] = Asc(StringMid($s_EncryptPassword, Mod($i_EncryptCountA, StringLen($s_EncryptPassword)) + 1, 1)) $av_EncryptBox[$i_EncryptCountA][0] = $i_EncryptCountA Next For $i_EncryptCountA = 0 To 255 $i_EncryptCountB = Mod(($i_EncryptCountB + $av_EncryptBox[$i_EncryptCountA][0] + $av_EncryptBox[$i_EncryptCountA][1]), 256) $v_EncryptSwap = $av_EncryptBox[$i_EncryptCountA][0] $av_EncryptBox[$i_EncryptCountA][0] = $av_EncryptBox[$i_EncryptCountB][0] $av_EncryptBox[$i_EncryptCountB][0] = $v_EncryptSwap Next For $i_EncryptCountA = 1 To StringLen($s_EncryptText) $i_EncryptCountC = Mod(($i_EncryptCountC + 1), 256) $i_EncryptCountD = Mod(($i_EncryptCountD + $av_EncryptBox[$i_EncryptCountC][0]), 256) $i_EncryptCountE = $av_EncryptBox[Mod(($av_EncryptBox[$i_EncryptCountC][0] + $av_EncryptBox[$i_EncryptCountD][0]), 256) ][0] $v_EncryptCipherBy = BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountA, 1)), $i_EncryptCountE) $v_EncryptCipher &= Hex($v_EncryptCipherBy, 2) ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $v_EncryptCipher = ' & $v_EncryptCipher & @crlf & '>Error code: ' & @error & @crlf);### Debug Console Next $s_EncryptText = $v_EncryptCipher ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $s_EncryptText = ' & $s_EncryptText & @crlf & '>Error code: ' & @error & @crlf);### Debug Console Next EndIf Return $s_EncryptText EndFunc ;==>_StringEncrypt Edited February 3, 2008 by Jos SciTE4AutoIt3 Full installer Download page  - Beta files    Read before posting   How to post scriptsource   Forum etiquette Forum Rules  Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Innovative Posted February 3, 2008 Author Share Posted February 3, 2008 expandcollapse popup>"C:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Documents and Settings\user\Desktop\StringEncrypt.au3" /autoit3dir "C:\Program Files\AutoIt3" /UserParams +>20:21:18 Starting AutoIt3Wrapper v.1.9.5.6 Environment(Language:0409 Keyboard:00000409 OS:WIN_XP/Service Pack 2 CPU:X86) >Running AU3Check (1.54.10.0) from:C:\Program Files\AutoIt3 +>20:21:19 AU3Check ended.rc:0 >Running:(3.2.10.0):C:\Program Files\AutoIt3\autoit3.exe "C:\Documents and Settings\user\Desktop\StringEncrypt.au3" @@ Debug(26) : $i_Encrypt = 1 >Error code: 0 @@ Debug(28) : $i_EncryptCountF = 0 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 1 >Error code: 0 @@ Debug(40) : $v_EncryptModified =  >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 2 >Error code: 0 @@ Debug(40) : $v_EncryptModified =  >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 3 >Error code: 0 @@ Debug(40) : $v_EncryptModified =  >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 4 >Error code: 0 @@ Debug(40) : $v_EncryptModified =  >Error code: 0 @@ Debug(69) : $v_EncryptCipher = 51 >Error code: 0 @@ Debug(69) : $v_EncryptCipher = 5170 >Error code: 0 @@ Debug(69) : $v_EncryptCipher = 5170D8 >Error code: 0 @@ Debug(69) : $v_EncryptCipher = 5170D8EE >Error code: 0 @@ Debug(72) : $s_EncryptText = 5170D8EE >Error code: 0 @@ Debug(28) : $i_EncryptCountF = 1 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 1 >Error code: 0 @@ Debug(40) : $v_EncryptModified = >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 2 >Error code: 0 @@ Debug(40) : $v_EncryptModified = >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 3 >Error code: 0 @@ Debug(40) : $v_EncryptModified = >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 4 >Error code: 0 @@ Debug(40) : $v_EncryptModified = >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 1 >Error code: 0 @@ Debug(40) : $v_EncryptModified = >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 2 >Error code: 0 @@ Debug(40) : $v_EncryptModified = >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 3 >Error code: 0 @@ Debug(40) : $v_EncryptModified = >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 4 >Error code: 0 @@ Debug(40) : $v_EncryptModified = >Error code: 0 @@ Debug(72) : $s_EncryptText = >Error code: 0 ---- +>20:21:19 AutoIT3.exe ended.rc:0 >Exit code: 0 Time: 3.380 Link to comment Share on other sites More sharing options...
Developers Jos Posted February 3, 2008 Developers Share Posted February 3, 2008 Ok looks like the $v_EncryptModified contains a wrong value at the 2nd iteration. This will display the values generated to get to its final value.... run and give us the results please : expandcollapse popup$enc = _StringEncrypt(1, "test", "test") ConsoleWrite("--" & $enc & "--" & @crlf) ; Func _StringEncrypt($i_Encrypt, $s_EncryptText, $s_EncryptPassword) If $i_Encrypt <> 0 And $i_Encrypt <> 1 Then SetError(1) Return '' ElseIf $s_EncryptText = '' Or $s_EncryptPassword = '' Then SetError(1) Return '' EndIf $i_EncryptLevel = 1 Local $v_EncryptModified Local $i_EncryptCountH Local $i_EncryptCountG Local $v_EncryptSwap Local $av_EncryptBox[256][2] Local $i_EncryptCountA Local $i_EncryptCountB Local $i_EncryptCountC Local $i_EncryptCountD Local $i_EncryptCountE Local $v_EncryptCipher Local $v_EncryptCipherBy If $i_Encrypt = 1 Then ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $i_Encrypt = ' & $i_Encrypt & @crlf & '>Error code: ' & @error & @crlf);### Debug Console For $i_EncryptCountF = 0 To $i_EncryptLevel Step 1 ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $i_EncryptCountF = ' & $i_EncryptCountF & @crlf & '>Error code: ' & @error & @crlf);### Debug Console $i_EncryptCountG = '' $i_EncryptCountH = '' $v_EncryptModified = '' For $i_EncryptCountG = 1 To StringLen($s_EncryptText) If $i_EncryptCountH = StringLen($s_EncryptPassword) Then $i_EncryptCountH = 1 Else $i_EncryptCountH += 1 EndIf ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $i_EncryptCountH = ' & $i_EncryptCountH & @crlf & '>Error code: ' & @error & @crlf);### Debug Console $v_EncryptModified = $v_EncryptModified & Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) Asc(Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255))) ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = ' & BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) & @crlf & '>Error code: ' & @error & @crlf);### Debug Console ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = ' & Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) & @crlf & '>Error code: ' & @error & @crlf);### Debug Console ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = ' & Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) & @crlf & '>Error code: ' & @error & @crlf);### Debug Console ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : Asc($v_EncryptModified) = ' & Asc(Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255))) & @crlf & '>Error code: ' & @error & @crlf);### Debug Console Next $s_EncryptText = $v_EncryptModified $i_EncryptCountA = '' $i_EncryptCountB = 0 $i_EncryptCountC = '' $i_EncryptCountD = '' $i_EncryptCountE = '' $v_EncryptCipherBy = '' $v_EncryptCipher = '' $v_EncryptSwap = '' $av_EncryptBox = '' Local $av_EncryptBox[256][2] For $i_EncryptCountA = 0 To 255 $av_EncryptBox[$i_EncryptCountA][1] = Asc(StringMid($s_EncryptPassword, Mod($i_EncryptCountA, StringLen($s_EncryptPassword)) + 1, 1)) $av_EncryptBox[$i_EncryptCountA][0] = $i_EncryptCountA Next For $i_EncryptCountA = 0 To 255 $i_EncryptCountB = Mod(($i_EncryptCountB + $av_EncryptBox[$i_EncryptCountA][0] + $av_EncryptBox[$i_EncryptCountA][1]), 256) $v_EncryptSwap = $av_EncryptBox[$i_EncryptCountA][0] $av_EncryptBox[$i_EncryptCountA][0] = $av_EncryptBox[$i_EncryptCountB][0] $av_EncryptBox[$i_EncryptCountB][0] = $v_EncryptSwap Next For $i_EncryptCountA = 1 To StringLen($s_EncryptText) $i_EncryptCountC = Mod(($i_EncryptCountC + 1), 256) $i_EncryptCountD = Mod(($i_EncryptCountD + $av_EncryptBox[$i_EncryptCountC][0]), 256) $i_EncryptCountE = $av_EncryptBox[Mod(($av_EncryptBox[$i_EncryptCountC][0] + $av_EncryptBox[$i_EncryptCountD][0]), 256) ][0] $v_EncryptCipherBy = BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountA, 1)), $i_EncryptCountE) $v_EncryptCipher &= Hex($v_EncryptCipherBy, 2) ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $v_EncryptCipher = ' & $v_EncryptCipher & @crlf & '>Error code: ' & @error & @crlf);### Debug Console Next $s_EncryptText = $v_EncryptCipher ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $s_EncryptText = ' & $s_EncryptText & @crlf & '>Error code: ' & @error & @crlf);### Debug Console Next EndIf Return $s_EncryptText EndFunc ;==>_StringEncrypt SciTE4AutoIt3 Full installer Download page  - Beta files    Read before posting   How to post scriptsource   Forum etiquette Forum Rules  Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Innovative Posted February 3, 2008 Author Share Posted February 3, 2008 here expandcollapse popup>"C:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Documents and Settings\user\Desktop\StringEncrypt.au3" /autoit3dir "C:\Program Files\AutoIt3" /UserParams +>21:03:05 Starting AutoIt3Wrapper v.1.9.5.6 Environment(Language:0409 Keyboard:00000409 OS:WIN_XP/Service Pack 2 CPU:X86) >Running AU3Check (1.54.10.0) from:C:\Program Files\AutoIt3 +>21:03:05 AU3Check ended.rc:0 >Running:(3.2.10.0):C:\Program Files\AutoIt3\autoit3.exe "C:\Documents and Settings\user\Desktop\StringEncrypt.au3" @@ Debug(26) : $i_Encrypt = 1 >Error code: 0 @@ Debug(28) : $i_EncryptCountF = 0 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 1 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 255 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 116 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 116 >Error code: 0 @@ Debug(44) : Asc($v_EncryptModified) = 255 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 2 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 255 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 101 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 101 >Error code: 0 @@ Debug(44) : Asc($v_EncryptModified) = 255 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 3 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 255 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 115 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 115 >Error code: 0 @@ Debug(44) : Asc($v_EncryptModified) = 255 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 4 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 255 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 116 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 116 >Error code: 0 @@ Debug(44) : Asc($v_EncryptModified) = 255 >Error code: 0 @@ Debug(73) : $v_EncryptCipher = 51 >Error code: 0 @@ Debug(73) : $v_EncryptCipher = 5170 >Error code: 0 @@ Debug(73) : $v_EncryptCipher = 5170D8 >Error code: 0 @@ Debug(73) : $v_EncryptCipher = 5170D8EE >Error code: 0 @@ Debug(76) : $s_EncryptText = 5170D8EE >Error code: 0 @@ Debug(28) : $i_EncryptCountF = 1 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 1 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 190 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 53 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 116 >Error code: 0 @@ Debug(44) : Asc($v_EncryptModified) = 0 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 2 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 171 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 49 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 101 >Error code: 0 @@ Debug(44) : Asc($v_EncryptModified) = 0 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 3 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 187 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 55 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 115 >Error code: 0 @@ Debug(44) : Asc($v_EncryptModified) = 0 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 4 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 187 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 48 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 116 >Error code: 0 @@ Debug(44) : Asc($v_EncryptModified) = 0 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 1 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 207 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 68 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 116 >Error code: 0 @@ Debug(44) : Asc($v_EncryptModified) = 0 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 2 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 162 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 56 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 101 >Error code: 0 @@ Debug(44) : Asc($v_EncryptModified) = 0 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 3 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 201 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 69 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 115 >Error code: 0 @@ Debug(44) : Asc($v_EncryptModified) = 0 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 4 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 206 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 69 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 116 >Error code: 0 @@ Debug(44) : Asc($v_EncryptModified) = 0 >Error code: 0 @@ Debug(76) : $s_EncryptText = >Error code: 0 ---- +>21:03:07 AutoIT3.exe ended.rc:0 >Exit code: 0 Time: 3.302 Link to comment Share on other sites More sharing options...
Developers Jos Posted February 3, 2008 Developers Share Posted February 3, 2008 That is really weird. The BitXOR() result =190, but the Asc(Chr(BitXor) = 0. Those should be the same value. I added one extra Debug statement to show the result of the CHR() in that line since it looks like its going wrong there ... expandcollapse popup$enc = _StringEncrypt(1, "test", "test") ConsoleWrite("--" & $enc & "--" & @crlf) ; Func _StringEncrypt($i_Encrypt, $s_EncryptText, $s_EncryptPassword) If $i_Encrypt <> 0 And $i_Encrypt <> 1 Then SetError(1) Return '' ElseIf $s_EncryptText = '' Or $s_EncryptPassword = '' Then SetError(1) Return '' EndIf $i_EncryptLevel = 1 Local $v_EncryptModified Local $i_EncryptCountH Local $i_EncryptCountG Local $v_EncryptSwap Local $av_EncryptBox[256][2] Local $i_EncryptCountA Local $i_EncryptCountB Local $i_EncryptCountC Local $i_EncryptCountD Local $i_EncryptCountE Local $v_EncryptCipher Local $v_EncryptCipherBy If $i_Encrypt = 1 Then ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $i_Encrypt = ' & $i_Encrypt & @crlf & '>Error code: ' & @error & @crlf);### Debug Console For $i_EncryptCountF = 0 To $i_EncryptLevel Step 1 ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $i_EncryptCountF = ' & $i_EncryptCountF & @crlf & '>Error code: ' & @error & @crlf);### Debug Console $i_EncryptCountG = '' $i_EncryptCountH = '' $v_EncryptModified = '' For $i_EncryptCountG = 1 To StringLen($s_EncryptText) If $i_EncryptCountH = StringLen($s_EncryptPassword) Then $i_EncryptCountH = 1 Else $i_EncryptCountH += 1 EndIf ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $i_EncryptCountH = ' & $i_EncryptCountH & @crlf & '>Error code: ' & @error & @crlf);### Debug Console $v_EncryptModified = $v_EncryptModified & Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) Asc(Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255))) ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = ' & BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) & @crlf & '>Error code: ' & @error & @crlf);### Debug Console ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = ' & Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) & @crlf & '>Error code: ' & @error & @crlf);### Debug Console ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = ' & Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) & @crlf & '>Error code: ' & @error & @crlf);### Debug Console ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) = ' & Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) & @crlf & '>Error code: ' & @error & @crlf);### Debug Console ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : Asc($v_EncryptModified) = ' & Asc(Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255))) & @crlf & '>Error code: ' & @error & @crlf);### Debug Console Next $s_EncryptText = $v_EncryptModified $i_EncryptCountA = '' $i_EncryptCountB = 0 $i_EncryptCountC = '' $i_EncryptCountD = '' $i_EncryptCountE = '' $v_EncryptCipherBy = '' $v_EncryptCipher = '' $v_EncryptSwap = '' $av_EncryptBox = '' Local $av_EncryptBox[256][2] For $i_EncryptCountA = 0 To 255 $av_EncryptBox[$i_EncryptCountA][1] = Asc(StringMid($s_EncryptPassword, Mod($i_EncryptCountA, StringLen($s_EncryptPassword)) + 1, 1)) $av_EncryptBox[$i_EncryptCountA][0] = $i_EncryptCountA Next For $i_EncryptCountA = 0 To 255 $i_EncryptCountB = Mod(($i_EncryptCountB + $av_EncryptBox[$i_EncryptCountA][0] + $av_EncryptBox[$i_EncryptCountA][1]), 256) $v_EncryptSwap = $av_EncryptBox[$i_EncryptCountA][0] $av_EncryptBox[$i_EncryptCountA][0] = $av_EncryptBox[$i_EncryptCountB][0] $av_EncryptBox[$i_EncryptCountB][0] = $v_EncryptSwap Next For $i_EncryptCountA = 1 To StringLen($s_EncryptText) $i_EncryptCountC = Mod(($i_EncryptCountC + 1), 256) $i_EncryptCountD = Mod(($i_EncryptCountD + $av_EncryptBox[$i_EncryptCountC][0]), 256) $i_EncryptCountE = $av_EncryptBox[Mod(($av_EncryptBox[$i_EncryptCountC][0] + $av_EncryptBox[$i_EncryptCountD][0]), 256) ][0] $v_EncryptCipherBy = BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountA, 1)), $i_EncryptCountE) $v_EncryptCipher &= Hex($v_EncryptCipherBy, 2) ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $v_EncryptCipher = ' & $v_EncryptCipher & @crlf & '>Error code: ' & @error & @crlf);### Debug Console Next $s_EncryptText = $v_EncryptCipher ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $s_EncryptText = ' & $s_EncryptText & @crlf & '>Error code: ' & @error & @crlf);### Debug Console Next EndIf Return $s_EncryptText EndFunc ;==>_StringEncrypt SciTE4AutoIt3 Full installer Download page  - Beta files    Read before posting   How to post scriptsource   Forum etiquette Forum Rules  Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Innovative Posted February 3, 2008 Author Share Posted February 3, 2008 expandcollapse popup>"C:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Documents and Settings\user\Desktop\StringEncrypt.au3" /autoit3dir "C:\Program Files\AutoIt3" /UserParams +>21:11:58 Starting AutoIt3Wrapper v.1.9.5.6 Environment(Language:0409 Keyboard:00000409 OS:WIN_XP/Service Pack 2 CPU:X86) >Running AU3Check (1.54.10.0) from:C:\Program Files\AutoIt3 +>21:11:59 AU3Check ended.rc:0 >Running:(3.2.10.0):C:\Program Files\AutoIt3\autoit3.exe "C:\Documents and Settings\user\Desktop\StringEncrypt.au3" @@ Debug(26) : $i_Encrypt = 1 >Error code: 0 @@ Debug(28) : $i_EncryptCountF = 0 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 1 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 255 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 116 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 116 >Error code: 0 @@ Debug(44) : Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) =  >Error code: 0 @@ Debug(45) : Asc($v_EncryptModified) = 255 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 2 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 255 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 101 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 101 >Error code: 0 @@ Debug(44) : Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) =  >Error code: 0 @@ Debug(45) : Asc($v_EncryptModified) = 255 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 3 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 255 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 115 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 115 >Error code: 0 @@ Debug(44) : Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) =  >Error code: 0 @@ Debug(45) : Asc($v_EncryptModified) = 255 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 4 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 255 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 116 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 116 >Error code: 0 @@ Debug(44) : Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) =  >Error code: 0 @@ Debug(45) : Asc($v_EncryptModified) = 255 >Error code: 0 @@ Debug(74) : $v_EncryptCipher = 51 >Error code: 0 @@ Debug(74) : $v_EncryptCipher = 5170 >Error code: 0 @@ Debug(74) : $v_EncryptCipher = 5170D8 >Error code: 0 @@ Debug(74) : $v_EncryptCipher = 5170D8EE >Error code: 0 @@ Debug(77) : $s_EncryptText = 5170D8EE >Error code: 0 @@ Debug(28) : $i_EncryptCountF = 1 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 1 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 190 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 53 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 116 >Error code: 0 @@ Debug(44) : Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) = >Error code: 0 @@ Debug(45) : Asc($v_EncryptModified) = 0 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 2 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 171 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 49 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 101 >Error code: 0 @@ Debug(44) : Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) = >Error code: 0 @@ Debug(45) : Asc($v_EncryptModified) = 0 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 3 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 187 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 55 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 115 >Error code: 0 @@ Debug(44) : Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) = >Error code: 0 @@ Debug(45) : Asc($v_EncryptModified) = 0 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 4 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 187 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 48 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 116 >Error code: 0 @@ Debug(44) : Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) = >Error code: 0 @@ Debug(45) : Asc($v_EncryptModified) = 0 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 1 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 207 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 68 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 116 >Error code: 0 @@ Debug(44) : Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) = >Error code: 0 @@ Debug(45) : Asc($v_EncryptModified) = 0 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 2 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 162 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 56 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 101 >Error code: 0 @@ Debug(44) : Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) = >Error code: 0 @@ Debug(45) : Asc($v_EncryptModified) = 0 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 3 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 201 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 69 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 115 >Error code: 0 @@ Debug(44) : Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) = >Error code: 0 @@ Debug(45) : Asc($v_EncryptModified) = 0 >Error code: 0 @@ Debug(38) : $i_EncryptCountH = 4 >Error code: 0 @@ Debug(41) : BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255) = 206 >Error code: 0 @@ Debug(42) : Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)) = 69 >Error code: 0 @@ Debug(43) : Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)) = 116 >Error code: 0 @@ Debug(44) : Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) = >Error code: 0 @@ Debug(45) : Asc($v_EncryptModified) = 0 >Error code: 0 @@ Debug(77) : $s_EncryptText = >Error code: 0 ---- +>21:11:59 AutoIT3.exe ended.rc:0 >Exit code: 0 Time: 2.542 Link to comment Share on other sites More sharing options...
Developers Jos Posted February 3, 2008 Developers Share Posted February 3, 2008 (edited) ok.. now totally stripped down to the issue that seems to be there... lets see if this also fails: $x = BitXOR(53,116,255) ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : BitXOR(53,116,255) = ' & BitXOR(53,116,255) & @crlf & '>Error code: ' & @error & @crlf);### Debug Console ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $x = ' & $x & @crlf & '>Error code: ' & @error & @crlf);### Debug Console ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : Binary($x) = ' & Binary($x) & @crlf & '>Error code: ' & @error & @crlf);### Debug Console ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : Chr($x) = ' & Chr($x) & @crlf & '>Error code: ' & @error & @crlf);### Debug Console ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : Binary(Chr($x)) = ' & Binary(Chr($x)) & @crlf & '>Error code: ' & @error & @crlf);### Debug Console Edited February 3, 2008 by Jos SciTE4AutoIt3 Full installer Download page  - Beta files    Read before posting   How to post scriptsource   Forum etiquette Forum Rules  Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Innovative Posted February 3, 2008 Author Share Posted February 3, 2008 >"C:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Documents and Settings\user\Desktop\StringEncrypt.au3" /autoit3dir "C:\Program Files\AutoIt3" /UserParams +>21:25:00 Starting AutoIt3Wrapper v.1.9.5.6 Environment(Language:0409 Keyboard:00000409 OS:WIN_XP/Service Pack 2 CPU:X86) >Running AU3Check (1.54.10.0) from:C:\Program Files\AutoIt3 +>21:25:00 AU3Check ended.rc:0 >Running:(3.2.10.0):C:\Program Files\AutoIt3\autoit3.exe "C:\Documents and Settings\user\Desktop\StringEncrypt.au3" @@ Debug(2) : BitXOR(53,116,255) = 190 >Error code: 0 @@ Debug(3) : $x = 190 >Error code: 0 @@ Debug(4) : Binary($x) = 0xBE000000 >Error code: 0 @@ Debug(5) : Chr($x) = >Error code: 0 @@ Debug(6) : Binary(Chr($x)) = >Error code: 0 +>21:25:00 AutoIT3.exe ended.rc:0 >Exit code: 0 Time: 2.133 Link to comment Share on other sites More sharing options...
Developers Jos Posted February 3, 2008 Developers Share Posted February 3, 2008 That clearly is why it doesn't work for you BUT the zilliondollar question is why CHR(190) doesn't seem to return anything and doesn't give an error. Lets see for which values it has this problem : For $x = 1 To 255 ConsoleWrite(" $x:" & $x) ConsoleWrite(" Chr($x):" & Chr($x)) ConsoleWrite(" Binary($x):" & Binary($x)) ConsoleWrite(" Binary(Chr($x)) = " & Binary(Chr($x)) & @CRLF) Next Jos SciTE4AutoIt3 Full installer Download page  - Beta files    Read before posting   How to post scriptsource   Forum etiquette Forum Rules  Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Developers Jos Posted February 3, 2008 Developers Share Posted February 3, 2008 (edited) could you also run it with the ANSI version of Autoit3 using this script to see if that gives the same result? : #AutoIt3Wrapper_UseAnsi=y For $x = 1 To 255 ConsoleWrite(" $x:" & $x) ConsoleWrite(" Chr($x):" & Chr($x)) ConsoleWrite(" Binary($x):" & Binary($x)) ConsoleWrite(" Binary(Chr($x)) = " & Binary(Chr($x)) & @CRLF) Next Edited February 3, 2008 by Jos SciTE4AutoIt3 Full installer Download page  - Beta files    Read before posting   How to post scriptsource   Forum etiquette Forum Rules  Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Developers Jos Posted February 3, 2008 Developers Share Posted February 3, 2008 Your test results should confirm this but I think this problem is due to the loaded codepage. Chr() translates values > 127 using the Codepage loaded. I think this UDF needs to be rewritten to use HEX() and DEC() instead of CHR() to do the Encryption/Decryption.. Jos SciTE4AutoIt3 Full installer Download page  - Beta files    Read before posting   How to post scriptsource   Forum etiquette Forum Rules  Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Innovative Posted February 4, 2008 Author Share Posted February 4, 2008 (edited) I've attached the returned of the results.. The one without "#AutoIt3Wrapper_UseAnsi=y" is the first one.. The one with "#AutoIt3Wrapper_UseAnsi=y" is the second one.. P.S : But the _StringEncrypt used to work very successfully until now ..First.txtSecond.txt Edited February 4, 2008 by CrazeStar1074 Link to comment Share on other sites More sharing options...
PsaltyDS Posted February 4, 2008 Share Posted February 4, 2008 P.S : But the _StringEncrypt used to work very successfully until now ..AutoIt was fairly recently changed for Unicode compatibility (ver 3.2.4.0 in May 2007). Perhaps some character handling assumptions had to be changed as a result.I still think a binary encryption function that doesn't care what kind of data you are working with makes more sense, which is why I was pushing SkinnyWhiteGuy's RC4(). Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
Developers Jos Posted February 4, 2008 Developers Share Posted February 4, 2008 As I expected, its the Codepage mapping. Do you know what regional setting you have (when going in it via the control panel) ? Curious to understand what code pages you havce selected. Anyways, I still think that the CHR() function should be avoided when doing Encryption since it uses the CodePage for translating a ASC() code to a character. It should be done using Hex() and Dec() .... Any takers ? SciTE4AutoIt3 Full installer Download page  - Beta files    Read before posting   How to post scriptsource   Forum etiquette Forum Rules  Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
BrettF Posted February 5, 2008 Share Posted February 5, 2008 (edited) As I expected, its the Codepage mapping.Do you know what regional setting you have (when going in it via the control panel) ?Curious to understand what code pages you havce selected.Anyways, I still think that the CHR() function should be avoided when doing Encryption since it uses the CodePage for translating a ASC() code to a character. It should be done using Hex() and Dec() ....Any takers ?Will it mean something more than just replacing CHR with Hex...? I'd be willing to give it a try. Lemme see what I can do before I go out.It will won't it Edited February 5, 2008 by Bert Vist my blog!UDFs: Opens The Default Mail Client | _LoginBox | Convert Reg to AU3 | BASS.au3 (BASS.dll) (Includes various BASS Libraries) | MultiLang.au3 (Multi-Language GUIs!)Example Scripts: Computer Info Telnet Server | "Secure" HTTP Server (Based on Manadar's Server)Software: AAMP- Advanced AutoIt Media Player | WorldCam | AYTU - Youtube Uploader Tutorials: Learning to Script with AutoIt V3Projects (Hardware + AutoIt): ArduinoUseful Links: AutoIt 1-2-3 | The AutoIt Downloads Section: | SciTE4AutoIt3 Full Version! Link to comment Share on other sites More sharing options...
Innovative Posted February 5, 2008 Author Share Posted February 5, 2008 As I expected, its the Codepage mapping.Do you know what regional setting you have (when going in it via the control panel) ?Curious to understand what code pages you havce selected.LOL, almost 70% has been selected .. You need me to tell you all ? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now