allSystemsGo Posted March 12, 2013 Share Posted March 12, 2013 I am using the Func _AutoMD5_Data_Decrypt to password protect my script. It reads the key from an INI file. It has worked fine for about a month or so. Now suddenly it tells me that the password I type in is wrong. I tried to make a new key with the same password, and it still tells me it is wrong. Does this method "degrade" over time? I am typing the password in as I always have. Func _AutoMD5_Data_Decrypt($sInput) ; Returns true if passwords match, or false if they don't. $iKey = FileCopy("\\server\folder\key.ini", @ScriptDir) Global $sPass = IniRead(@ScriptDir & "\key.ini", "main", "key", "INI NOT FOUND") _Crypt_Startup() $sEncryptedInput = _Crypt_HashData($sInput, $CALG_MD5) _Crypt_Shutdown() If String($sEncryptedInput) = String($sPass) Then $sReturn = "True" Else $sReturn = "False" EndIf FileDelete(@ScriptDir & "\key.ini") EndFunc ;==>_AutoMD5_Data_Decrypt Link to comment Share on other sites More sharing options...
KaFu Posted March 12, 2013 Share Posted March 12, 2013 No, md5 does not change over time... it just seems to be that you don't return the result. $bPass = _AutoMD5_Data_Decrypt($sInput) MsgBox(0, "", $bPass & @CRLF & @error) Func _AutoMD5_Data_Decrypt($sInput) ; Returns true if passwords match, or false if they don't. If Not $sInput Then Return SetError(1) If Not FileCopy("\\server\folder\key.ini", @ScriptDir) Then Return SetError(2) Local $sPass = IniRead(@ScriptDir & "\key.ini", "main", "key", "") If Not $sPass Then Return SetError(3) If Not _Crypt_Startup() Then Return SetError(4, @error) $sEncryptedInput = _Crypt_HashData($sInput, $CALG_MD5) If $sEncryptedInput = -1 Then Return SetError(5, @error) _Crypt_Shutdown() Local $sReturn If String($sEncryptedInput) = String($sPass) Then $sReturn = "True" Else $sReturn = "False" EndIf FileDelete(@ScriptDir & "\key.ini") Return $sReturn EndFunc ;==>_AutoMD5_Data_Decrypt OS: Win10-22H2 - 64bit - German, AutoIt Version: 3.3.16.1, AutoIt Editor: SciTE, Website: https://funk.eu AMT - Auto-Movie-Thumbnailer (2022-Nov-26) BIC - Batch-Image-Cropper (2023-Apr-01) COP - Color Picker (2009-May-21) DCS - Dynamic Cursor Selector (2024-Feb-16) HMW - Hide my Windows (2018-Sep-16) HRC - HotKey Resolution Changer (2012-May-16) ICU - Icon Configuration Utility (2018-Sep-16) SMF - Search my Files (2023-Jun-03) - THE file info and duplicates search tool SSD - Set Sound Device (2017-Sep-16) Link to comment Share on other sites More sharing options...
allSystemsGo Posted March 13, 2013 Author Share Posted March 13, 2013 This still does not let me in to the script. Like I said, it worked for a while, and now all of the sudden, it does not work. When I build the key and test the password, it works and returns the same key. Link to comment Share on other sites More sharing options...
Keniger Posted March 13, 2013 Share Posted March 13, 2013 Its isnt better to use external dll ? Link to comment Share on other sites More sharing options...
allSystemsGo Posted March 13, 2013 Author Share Posted March 13, 2013 Enlighten me. Link to comment Share on other sites More sharing options...
allSystemsGo Posted March 13, 2013 Author Share Posted March 13, 2013 (edited) On the other hand, I can put this code into just a scrap document and run it, and it works... edit... Also... I commented out #RequireAdmin, and then ran the script..typed in my password..and it worked. Why does this resolve it...and why did this work for so long with the #RequireAdmin? Edited March 13, 2013 by zsutton92 Link to comment Share on other sites More sharing options...
BrewManNH Posted March 13, 2013 Share Posted March 13, 2013 Is the ini file being copied when you run it using #RequireAdmin? Could be that when it reruns the script under admin credentials, you're not able to connect to the remote drive. Just a thought. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator Link to comment Share on other sites More sharing options...
allSystemsGo Posted March 13, 2013 Author Share Posted March 13, 2013 Is the ini file being copied when you run it using #RequireAdmin? Could be that when it reruns the script under admin credentials, you're not able to connect to the remote drive. Just a thought.Could be possible...The main reason that its not working is because its not copying the INI file...It is just weird that it worked for a while, then suddenly stopped. 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