Jump to content

Func _AutoMD5_Data_Decrypt...degradeable?


Recommended Posts

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

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
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...