mikehunt114 Posted December 6, 2006 Share Posted December 6, 2006 (edited) I've made a sort of useless function, but I did find that in some cases it is actually significantly faster than _StringEncrypt.expandcollapse popup;=============================================================================== ; ; Function Name: _SplitEncrypt() ; Description: RC4 Based string encryption using arrays ; Parameter(s): $i_Encrypt - 1 to encrypt, 0 to decrypt ; $s_EncryptText - string to encrypt ; $s_EncryptPassword - string to use as an encryption password ; $i_EncryptLevel - integer to use as number of times to encrypt string ; Requirement(s): #include <String.au3> ; Return Value(s): On Success - Returns the string encrypted/decrypted (blank) times with (blank) password ; in the form of an array for encrypting, and a string for decrypting ; On Failure - Returns a blank string and sets @error = 1 for invalid data type input, ; or sets @error = 3 for an invalid encryption index ; Author(s): Radagast ; Author of _StringEncrypt - Wes Wolfe-Wolvereness <Weswolf at aol dot com> ; ;=============================================================================== Func _SplitEncrypt($i_Encrypt, $s_EncryptText, $s_EncryptPassword, $i_EncryptLevel = 1) Select Case $i_Encrypt = 1 If IsString($s_EncryptText) Then $string = StringSplit($s_EncryptText, "") $num = UBound($string) - 1 Dim $encrypted[$num] For $i = 1 to $num $encrypted[$i - 1] = _StringEncrypt(1, $string[$i], $s_EncryptPassword, $i_EncryptLevel) Next Return $encrypted Else @error = 1 ConsoleWriteError("_SplitEncrypt Error --------> Invalid data type." & @CRLF) EndIf Case $i_Encrypt = 0 If IsArray($s_EncryptText) Then $encrypted = "" $num = UBound($s_EncryptText) - 1 For $i = 0 to $num $encrypted &= _StringEncrypt(0, $s_EncryptText[$i], $s_EncryptPassword, $i_EncryptLevel) Next Return $encrypted Else @error = 1 ConsoleWriteError("_SplitEncrypt Error --------> Invalid data type." & @CRLF) EndIf Case Else @error = 3 ConsoleWriteError("_SplitEncrypt Error --------> Invalid parameter. Choose 1 to encrypt, 0 to decrypt." & @CRLF) EndSelect EndFuncNow, when you have a long string like "testing1testing1testing1testing1", and you run that through both functions, _StringEncrypt is quicker. But in the case of "testing1testing1testing1testing1" run through _StringEncrypt and an array with each element as "testing1" run through _SplitEncrypt, _SplitEncrypt was up to 200% faster. I don't know if this has any actual application, but I just thought I'd share a slow day at the office's afternoon work.Edit: First example script ever posted......no paddling! ....please....Also added comments at the beginning. Edited December 6, 2006 by mikehunt114 IE Dev ToolbarMSDN: InternetExplorer ObjectMSDN: HTML/DHTML Reference Guide[quote]It is surprising what a man can do when he has to, and how little most men will do when they don't have to. - Walter Linn[/quote]--------------------[font="Franklin Gothic Medium"]Post a reproducer with less than 100 lines of code.[/font] 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