Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Rob Bovey posted a bit of code to http://www.devx.com/tips/Tip/5676
Function szEncryptDecrypt(ByVal szData As String) As String ''' This key value can be changed to alter the ''' encryption, but it must be the same for both ''' encryption and decryption. Const KEY_TEXT As String = "ScratchItYouFool" ''' The KEY_OFFSET is optional, and may be any ''' value 0-64. ''' Likewise, it needs to be the same coming/going. Const KEY_OFFSET As Long = 38 Dim bytKey() As Byte Dim bytData() As Byte Dim lNum As Long Dim szKey As String For lNum = 1 To ((Len(szData) \ Len(KEY_TEXT)) + 1) szKey = szKey & KEY_TEXT Next lNum bytKey = Left$(szKey, Len(szData)) bytData = szData For lNum = LBound(bytData) To UBound(bytData) If lNum Mod 2 Then bytData(lNum) = bytData(lNum) Xor (bytKey(lNum) _ + KEY_OFFSET) Else bytData(lNum) = bytData(lNum) Xor (bytKey(lNum) _ - KEY_OFFSET) End If Next lNum szEncryptDecrypt = bytData End Function I'm finding that it generates an awful lot of overflow errors because the value being returned to bytData(lNum) is not in a byte range. There seem to be dozens of scenarios where varying the key and the key offset (seemingly within the expected parameters) that bytData(lNum) Xor (bytKey(lNum) - KEY_OFFSET) cannot return byte data OR that the final bytData cannot be converted back to a string. Am I missing something here? Do I need to do some preliminary checks before setting the constants and passing data into the function? Regards GPO |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Byte Codes | Excel Discussion (Misc queries) | |||
Passing Byte array to DLL | Excel Programming | |||
Excel Byte Calculation | Excel Worksheet Functions | |||
byte order reversal in spreadsheet | Excel Programming | |||
Double-byte challenges. Please help! | Excel Programming |