Hi Bill
As Brian said LiveCode is not calculating different values on different
platforms. You can’t just look at the output in a text field and compare
though. The function returns binary data so needs to be hex encoded for cross
platform comparison. If you put it into a field then LiveCode will do its
normal binary data to string conversion which uses a different text encoding on
each platform so it will look different in the field.
To compare cross platform use:
get binaryDecode("h*", messageDigest(textEncode("My very large data", "UTF-8"),
"SHA3-256"), tHash); put tHash
Cheers
Monte
> On 20 Apr 2020, at 10:14 am, Bill Vlahos via use-livecode
> <[email protected]> wrote:
>
> The LiveCode Dictionary states:
> When generating a messageDigest for a string, it is a good idea to encode it
> to binary data using the textEncode <> function. Otherwise, the messageDigest
> could be different, depending on the platform <> on which your application is
> running.
>
> However, I tried their example in the Dictionary but it still gives different
> values on Macintosh vs. Windows:
> put textEncode("My very large data", "UTF-8") into tOriginal
> put messageDigest(tOriginal, "SHA3-256") into tChecksum
>
> Why would the platform calculate the hashes differently?
> Why did older versions of LiveCode calculate it the same?
_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode