home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Stickerpedia Stickerbook
/
Stickerbook.iso
/
pc
/
DATA
/
objects.cxt
/
00033_Script_oEnigma
< prev
next >
Wrap
Text File
|
2003-03-19
|
2KB
|
77 lines
--¨
oEnigma
global oEnigma, oET
property pMyName
property pDefaultKey
on new me
set pMyName = "oEnigma"
set pDefaultKey = "*1#2*3#4@5#6@7#8]9#0]"
-- updateProgressBar ("Object loading", oEnigma && "status #ok")
addObject me
return me
end
on showProps me
writePropsToLog oET, me, pMyName
end
on buddyEncrypt me, str, chiffre
if chiffre = void then set chiffre = pDefaultKey
return baEncryptText( str , chiffre)
end
on buddyDecrypt me, str, chiffre
if chiffre = void then set chiffre = pDefaultKey
return baDecryptText( str , chiffre)
end
on xor me, num1,num2
if not(integerP(num1) and integerP(num2)) then
return #error
end if
set magnitude = 1
set theMin = min(num1,num2)
set theMax = max(num1,num2)
set xored = 0
repeat while theMin
set lastDigitXor = ((theMin mod 2 + theMax mod 2) mod 2)
set xored = xored + lastDigitXor * magnitude
set magnitude = magnitude * 2
set theMax = theMax / 2
set theMin = theMin / 2
end repeat
set xored = xored + theMax * magnitude
return xored
end xor
on Chiffre me, text, key
if key = void then set key = pDefaultKey
set myActKey = 1
set newText = ""
repeat with x = 1 to the number of chars in text
set newText = newText & numtochar(xor (me, chartonum(char x of text),chartonum(char myActKey of key)))
set myActKey = myActKey + 1
if myActKey > length(key) then set myActKey = 1
end repeat
return newText
end Chiffre