Jump to content
Sign in to follow this  
allSystemsGo

Func _AutoMD5_Data_Decrypt...degradeable?

Recommended Posts

allSystemsGo

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

Share this post


Link to post
Share on other sites
KaFu

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

Share this post


Link to post
Share on other sites
allSystemsGo

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.

Share this post


Link to post
Share on other sites
Keniger

Its isnt better to use external dll ?

Share this post


Link to post
Share on other sites
allSystemsGo

Enlighten me.

Share this post


Link to post
Share on other sites
allSystemsGo

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 by zsutton92

Share this post


Link to post
Share on other sites
BrewManNH

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 Gude
How 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

Share this post


Link to post
Share on other sites
allSystemsGo

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.

Share this post


Link to post
Share on other sites

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  

×