Page 1 of 1

libeay32.dll ssleay32.dll

Posted: Fri Dec 04, 2009 4:52 pm
by reelstuff
Using the following dll files, in conjunction with some code,

libeay32.dll
ssleay32.dll

produces some random transcription errors, I have two questions about these DLL files,

have they been updated, since the use of these as part of the engine in the most recent versions of the enterprise software?

has anyone else encountered these inconsistent, issues when using the following code to encrypt and decrypt text in rev.

Also if anyone found a work around for this issue please let me know I spent a lot of time depending on the accuracy of those two dll files.

Code: Select all

function crypt passwd, data
  put length(passwd) into passwd_length
  put length(data) into data_length
  repeat with x=0 to 256
    put "" into thebox[x]
    put "" into key[x]
  end repeat
  put "" into cipher
  
  repeat with i=1 to 256
    put char (i mod passwd_length) of passwd into q
    --put q into key[i]   anyone know why this line has been commented out?
    put chartonum(q) into key[i]
    put i into thebox[i]
  end repeat
  
  put 1 into j
  repeat with i=1 to 256
    put (j + thebox[i] + key[i]) mod 256 into j
    put thebox[i] into tmp
    put thebox[j] into thebox[i]
    put tmp into thebox[j]
  end repeat
  
  put 1 into a
  put 1 into j
  repeat with i=1 to data_length
    put (a + 1) mod 256 into a
    put (j + thebox[a]) mod 256 into j
    put thebox[a] into tmp
    put thebox[j] into thebox[a]
    put tmp into thebox[j]
    put thebox[((thebox[a] + thebox[j]) mod 256)] into k
    put chartonum(char i of data) into v
    put v into r
    put k into s
    put r bitxor s into q
    put numtochar(q) into hex
    put hex after cipher
  end repeat
  return cipher
  
end crypt

function dcrypt passwd, data
  put crypt(passwd, data) into z
  return z
end dcrypt

function tohexadecimal charval
  put chartonum(charval) into theVal
  put theVal mod 16 into lsd
  if lsd>9 then
    put toHex(lsd) into lsd
    end if
  put trunc(theVal/16) into msd
  if msd>9 then
    put toHex(msd) into msd
  end if
  return msd & lsd
end tohexadecimal

function toHex digits
    if digits=10 then put "A" into tmp
    if digits=11 then put "B" into tmp
    if digits=12 then put "C" into tmp
    if digits=13 then put "D" into tmp
    if digits=14 then put "E" into tmp
    if digits=15 then put "F" into tmp
    return tmp
end toHex