Jump to content
Sign in to follow this  
Innovative

_StringEncrypt is returning ""

Recommended Posts

Innovative

Obviously , _StringEncrypt(1, "test", "test", 1) will works .. But no matter what.. it returns a empty string for me ..

I did #include <string.au3>

Is this a bug or something like that ?

Edited by CrazeStar1074

Share this post


Link to post
Share on other sites
BrettF

Does the helpfile example fail for you?

#include <guiconstants.au3>
#include <string.au3>
; GUI and String stuff
$WinMain = GuiCreate('Encryption tool', 400, 400)
; Creates window
$EditText = GuiCtrlCreateEdit('',5,5,380,350)
; Creates main edit
$InputPass = GuiCtrlCreateInput('',5,360,100,20, 0x21)
; Creates the password box with blured/centered input
$InputLevel = GuiCtrlCreateInput(1, 110, 360, 50, 20, 0x2001)
$UpDownLevel = GUICtrlSetLimit(GuiCtrlCreateUpDown($inputlevel),10,1)
; These two make the level input with the Up|Down ability
$EncryptButton = GuiCtrlCreateButton('Encrypt', 170, 360, 105, 35)
; Encryption button
$DecryptButton = GuiCtrlCreateButton('Decrypt', 285, 360, 105, 35)
; Decryption button
GUICtrlCreateLabel('Password', 5, 385)
GuiCtrlCreateLabel('Level',110,385)
; Simple text labels so you know what is what
GuiSetState()
; Shows window

Do
   $Msg = GuiGetMsg()
   If $msg = $EncryptButton Then
      GuiSetState(@SW_DISABLE,$WinMain); Stops you from changing anything
      $string = GuiCtrlRead($EditText); Saves the editbox for later
      GUICtrlSetData($EditText,'Please wait while the text is Encrypted/Decrypted.'); Friendly message
      GuiCtrlSetData($EditText,_StringEncrypt(1,$string,GuiCtrlRead($InputPass),GuiCtrlRead($InputLevel)))
     ; Calls the encryption. Sets the data of editbox with the encrypted string
     ; The encryption starts with 1/0 to tell it to encrypt/decrypt
     ; The encryption then has the string that we saved for later from edit box
     ; It then reads the password box & Reads the level box
      GuiSetState(@SW_ENABLE,$WinMain); This turns the window back on
   EndIf
   If $msg = $DecryptButton Then
      GuiSetState(@SW_DISABLE,$WinMain); Stops you from changing anything
      $string = GuiCtrlRead($EditText); Saves the editbox for later
      GUICtrlSetData($EditText,'Please wait while the text is Encrypted/Decrypted.'); Friendly message
      GuiCtrlSetData($EditText,_StringEncrypt(0,$string,GuiCtrlRead($InputPass),GuiCtrlRead($InputLevel)))
     ; Calls the encryption. Sets the data of editbox with the encrypted string
     ; The encryption starts with 1/0 to tell it to encrypt/decrypt
     ; The encryption then has the string that we saved for later from edit box
     ; It then reads the password box & Reads the level box
      GuiSetState(@SW_ENABLE,$WinMain); This turns the window back on
   EndIf
Until $msg = $GUI_EVENT_CLOSE; Continue loop untill window is closed

Share this post


Link to post
Share on other sites
Innovative

Yes.. it returned an empty string too.. Please help T.T urgent

Share this post


Link to post
Share on other sites
Bowmore

Yes.. it returned an empty string too.. Please help T.T urgent

Your code as posted works fine for me using the latest versions of AutoIt.

Environment = 3.2.10.0 under  WIN_XP/Service Pack 2 X86
_StringEncrypt(1, "test", "test", 1) = 10249CAA2F88B4EB

Environment = 3.2.11.0 under  WIN_XP/Service Pack 2 X86
_StringEncrypt(1, "test", "test", 1) = 10249CAA2F88B4EB

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning."- Rick Cook

Share this post


Link to post
Share on other sites
Innovative

But it returned a blank string for me .. why is it so ?

Share this post


Link to post
Share on other sites
BrettF

But it returned a blank string for me .. why is it so ?

Could be a range of reasons. Looking at the actual function, I cannot see any reason for it to fail. Did you happen to catch the @error code?

Share this post


Link to post
Share on other sites
Innovative

#Include <string.au3>
$encrypt = _StringEncrypt(1, "test", "test")
MsgBox(0, "", @Error & "/" & @extended)
$decrypt = _StringEncrypt(0, $encrypt, "test")
MsgBox(0, "", @Error & "/" & @extended)

First msgbox returned "0/0"

Second returned "1/0"

Whats the problem ?

I dont think its the problem with String.au3 become i replaced a working one but it still fail.

Edited by CrazeStar1074

Share this post


Link to post
Share on other sites
PsaltyDS

Do it this way and post the results:

#Include <string.au3>
$encrypt = _StringEncrypt(1, "test", "test")
ConsoleWrite("Debug: $encrypt = " & $encrypt & "  @error = " & @error & "  @extended = " & @extended & @LF)
$decrypt = _StringEncrypt(0, $encrypt, "test")
ConsoleWrite("Debug: $dencrypt = " & $decrypt & "  @error = " & @error & "  @extended = " & @extended & @LF)

I get:

>Running:(3.2.10.0):C:\Program Files\AutoIt3\autoit3.exe "C:\Program Files\AutoIt3\Scripts\Test_2.au3"  
Debug: $encrypt = 10249CAA2F88B4EB  @error = 0  @extended = 0
Debug: $dencrypt = test  @error = 0  @extended = 0
+>07:52:18 AutoIT3.exe ended.rc:0

:D


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

Share this post


Link to post
Share on other sites
Innovative

I dont know how ConsoleWrite works so i did it this way

#Include <string.au3>
$encrypt = _StringEncrypt(1, "test", "test")
Msgbox(0, "", "Debug: $encrypt = " & $encrypt & "  @error = " & @error & "  @extended = " & @extended & @LF)
$decrypt = _StringEncrypt(0, $encrypt, "test")
Msgbox(0, "", "Debug: $dencrypt = " & $decrypt & "  @error = " & @error & "  @extended = " & @extended & @LF)
ClipPut("Debug: $encrypt = " & $encrypt & "  @error = " & @error & "  @extended = " & @extended & @CRLF & "Debug: $dencrypt = " & $decrypt & "  @error = " & @error & "  @extended = " & @extended & @LF & "")

and it returned :

Debug: $encrypt = @error = 0 @extended = 0

Debug: $dencrypt = @error = 0 @extended = 0

Share this post


Link to post
Share on other sites
PsaltyDS

I dont know how ConsoleWrite works so i did it this way

#Include <string.au3>
$encrypt = _StringEncrypt(1, "test", "test")
Msgbox(0, "", "Debug: $encrypt = " & $encrypt & "  @error = " & @error & "  @extended = " & @extended & @LF)
$decrypt = _StringEncrypt(0, $encrypt, "test")
Msgbox(0, "", "Debug: $dencrypt = " & $decrypt & "  @error = " & @error & "  @extended = " & @extended & @LF)
ClipPut("Debug: $encrypt = " & $encrypt & "  @error = " & @error & "  @extended = " & @extended & @CRLF & "Debug: $dencrypt = " & $decrypt & "  @error = " & @error & "  @extended = " & @extended & @LF & "")

and it returned :

Debug: $encrypt = @error = 0 @extended = 0

Debug: $dencrypt = @error = 0 @extended = 0

ConsoleWrite() just writes to the scrolling console pane of the SciTE window. I prefer it to MsgBox for debug because I don't have to respond to a string of annoying pop ups.

You are not getting a string back from _StringEncrypt(). Have you modified the string.au3 UDF in any way? What version of AutoIt are you running? Run the code the way I posted it (with ConsoleWrite) and post all of the output in the SciTE console pane, including any errors and the lines that report program versions.

:D


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

Share this post


Link to post
Share on other sites
weaponx

Correct spelling and a more informative title would really help this topic.

Share this post


Link to post
Share on other sites
weaponx

How's that?

A lot better.

Share this post


Link to post
Share on other sites
Innovative

1 ) Nop.. i did not modified any of the includes file..

2 ) v3.2.10.0

3 )

>"C:\Program Files\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Documents and Settings\user\Desktop\StringEncrypt.au3"

Debug: $encrypt = @error = 0 @extended = 0

Debug: $dencrypt = @error = 1 @extended = 0

>Exit code: 0 Time: 1.087

Share this post


Link to post
Share on other sites
PsaltyDS

1 ) Nop.. i did not modified any of the includes file..

2 ) v3.2.10.0

3 )

>"C:\Program Files\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Documents and Settings\user\Desktop\StringEncrypt.au3"

Debug: $encrypt = @error = 0 @extended = 0

Debug: $dencrypt = @error = 1 @extended = 0

>Exit code: 0 Time: 1.087

Why are you avoiding running this from SciTE and posting the output from that...? Please run it from SciTE with F5 and copy/paste/post the contents of the console pane at the bottom of the SciTE window (not just the "Debug:" lines).

:D


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

Share this post


Link to post
Share on other sites
Innovative

-.- thats what i get after pressing F5 ..

You want the result of SyntaxCheck prod ?

>"C:\Program Files\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Documents and Settings\user\Desktop\FTP_Example.au3"  
Debug: $encrypt =   @error = 0  @extended = 0
Debug: $dencrypt =   @error = 1  @extended = 0
>Exit code: 0   Time: 1.379

Share this post


Link to post
Share on other sites
BrettF

-.- thats what i get after pressing F5 ..

You want the result of SyntaxCheck prod ?

>"C:\Program Files\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Documents and Settings\user\Desktop\FTP_Example.au3"  
Debug: $encrypt =   @error = 0  @extended = 0
Debug: $dencrypt =   @error = 1  @extended = 0
>Exit code: 0   Time: 1.379
Like this:

>"C:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Documents and Settings\francisb\Desktop\msn_test\tester.au3" /autoit3dir "C:\Program Files\AutoIt3" /UserParams 
+>16:39:49 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
+>16:39:49 AU3Check ended.rc:0
>Running:(3.2.10.0):C:\Program Files\AutoIt

All of it.

Share this post


Link to post
Share on other sites
Generator

If this helps..

>"E:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "E:\Documents and Settings\Mike Jin\桌面\GUIInputSetOnlyNumbers_Example.au3" /autoit3dir "E:\Program Files\AutoIt3" /UserParams   
+>22:37:06 Starting AutoIt3Wrapper v.1.9.4
>Running AU3Check (1.54.10.0)  from:E:\Program Files\AutoIt3
+>22:37:06 AU3Check ended.rc:0
>Running:(3.2.10.0):E:\Program Files\AutoIt3\autoit3.exe "E:\Documents and Settings\Mike Jin\桌面\GUIInputSetOnlyNumbers_Example.au3" 
Debug: $encrypt =   @error = 0  @extended = 0
Debug: $dencrypt =   @error = 1  @extended = 0
+>22:37:07 AutoIT3.exe ended.rc:0
+>22:37:08 AutoIt3Wrapper Finished
>Exit code: 0   Time: 2.917

Share this post


Link to post
Share on other sites
Innovative

But that is what i ONLY get after pressing F5 .. Nothing else more..

Share this post


Link to post
Share on other sites
BrettF

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.