CLEAR lcEnc = encrypt("Test string here") ? lcEnc lcDec = decrypt(lcEnc) ? lcDec FUNCTION encrypt LPARAMETERS tcString LOCAL lcString seedRand(0) lcString = SPACE(0) FOR lnI = 1 TO LEN(tcString) lnRand = ROUND(getRand() * 255.0, 0) lcChar = SUBSTR(tcString, lnI, 1) lcChar = CHR((ASC(lcChar) + lnRand) % 255) lcString = lcString + lcChar NEXT RETURN lcString FUNCTION decrypt LPARAMETERS tcString LOCAL lcString seedRand(0) lcString = SPACE(0) FOR lnI = 1 TO LEN(tcString) lnRand = ROUND(getRand() * 255.0, 0) lcChar = SUBSTR(tcString, lnI, 1) lcString = lcString + CHR((ASC(lcChar) + 255 - lnRand) % 255) NEXT RETURN lcString FUNCTION seedRand LPARAMETERS tnSeed DECLARE INTEGER srand IN msvcr71.dll as cSrand INTEGER nSeed DECLARE INTEGER rand IN msvcr71.dll AS cRand cSrand(tnSeed) FUNCTION getRand LOCAL lnRand RETURN cRand() / 32767.0