From Second Life Wiki
Jump to navigation Jump to search

Why nonce ?

hello im very disturbed by this "nonce" thing, why didnt you make a simple md5 function like other languages and then i can build myself a "nonce" if needed. I cannot use md5 with all my php cms because some are using string nonce and some are not using nonce at all... —The preceding unsigned comment was added by Ssm2017 Binder

All you have to do is append ':' and the nonce at the end of the string to duplicate the LSL functionality in another language... that or you can use the LSL MD5 library. -- Strife (talk|contribs) 06:19, 30 April 2009 (UTC)
as said in my first question, some php cms are using a string as nonce like for the password so i cannot make a link with lsl and i dont have the access to hack the cms core because lsl imposes the nonce to be an integer (this could be so easy to dont include nonce at all in lsl like this i can build myself the nonce system) anyway, i will have to use this extra lsl MD5 library (thank you for the link)

why is this md5 different ?

on any system in the world I do md5("secondlife") I get cb0395f24eafadd48db24785e3177436 only this rubbish llMD5String("secondlife",0) returns bf833eaa0c5bb29fe7ba6a0752863baf. Can you tell me how to trigger llMD5String to get the same like on any other system in the world ?

I think it must be md5("secondlife:0"))
and the specification says: nonce is casted to string, then appended to src after a colon (src+":"+(string)nonce). This is important to know if you are calculating a hash in another language and wish to compare with one calculated in LSL.
and the example on the end of the page demonstrate it... --Kuraiko Yoshikawa 15:36, 20 November 2011 (PST)
I hate this but I must explain you that "secondlife" is one string, and "seondlife:0" is another string. Are you trying to explain me I can only make a md5 of strings ending in ":0" ??? Your not serious. I was running

<lsl> string md5A = "7fc56270e7a70fa81a5935b72eacbe29"; default {

       integer i = 0; while (llMD5String("A",i)!=md5A && i < 10000000)
       { ++i;llSetText((string)i,<1,1,1>,1.0);}

} </lsl>
there was NO collision. --Anylyn Hax 13:58, 27 December 2011 (PST)

I'm not surprised. llMD5String pads your string before computing the hash. If you want verify the value elsewhere you have to pad the string like llMD5String does. It sucks. You might want to take a look at SVC-638. -- Strife (talk|contribs) 23:16, 28 December 2011 (PST)

Catagory LSL String ?

How do we get this function in catagory String, and catagory Encryption? I keep bumping into the fact I can't find it under String --Vernes 20:47, 22 December 2008 (UTC)

Fixed =)
Categories can be defining the cat1 ... catN variables as the name of the category (without the LSL prefix). Have a look at the edit here.
Can also read Template:LSL Function/docs for further info.
Greetz, Zai signature.png Lynch (talk|contribs) 21:08, 22 December 2008 (UTC)
Great explaination! Thanks! --Vernes 08:53, 23 December 2008 (UTC)

Beware the Performance Cost of llMD5String

This function exacts a relatively high price on the script engine during operation. Be very sure you need to use it and do not overuse it.

Darrius Gothly 13:12, 3 June 2010 (UTC)