• From: Mark Brownell
• Subject: Re: anyone here got a function to find is a string is base64 encoded?
• Date: Sun, 25 Jul 2004 09:16:19 -0700



On Sunday, July 25, 2004, at 08:59 AM, [EMAIL PROTECTED] wrote:


What about...


try put base64decode(tStr) into tStr catch errnum return "" end try return tStr

 /H


won't work


That's a good idea. What about this for a string test? Base64 is 72 characters per line. I suppose you could test for the number of characters in each line.



Mark


base64Decode is a very safe function.
Even if one deletes the "=" char(s) at the end of a base64Encoded string (if there are) it will decode correctly.
Even if one inserts chars (like ; or ? or < or > etc.) in a base64Encoded string it will decode correctly.
Like :
put base64Decode("U2VuZCB1c2UtcmV2b2x1dGl????vbiBtYWlsa!!!!! W5nIGxpc3Qgc3VibWlzc2lvbnMgdG8=")


(watch the mail wrap)

One could  test for a *welformed* base64Encodeded string :

function isWelformed64 pText
replace cr with "" in pText
if the num of chars in tText mod 4 = 0 then
repeat for each char i in pText
put i into tArray[i]
end repeat
put the keys of tArray into pText
if "=" is in tKeys then
put the num of chars in pText - 1 into x
put 1 into tC
repeat for each char i in pText
if i = "=" and tC < x then return false
add 1 to tC
end repeat
end if
repeat for each line i in tKeys
if i is not in "abcdefghijklmnopqrstuvwxyz1234567890/=" then return false
end repeat
return true
else return false
end isWelformed64


But if false it still could be a base64Encodeded string.
And if true it could still be a 1 word unencoded string.
But hey this is a quick starter.

Greetings,
WA
_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to