Right.  There is a little bit of overhead for padding for both md5 and sha1 
(they use the same padding method), as a string a multiple of 64-bytes is 
created.  Then each resulting 64-byte block is processed; this is linear.  The 
methods are very similar, an important difference being the number of 32-bit 
chaining variables; md5 has four and sha1 has five.  (The final values are the 
hash.)  That is a factor in making the sha1 basic operation take longer, and 
thus the whole process take longer.  (We could look it up and count all the 
XOR, SHIFT, OR and AND operations, but you can imagine there would be more in 
scrambling five things instead of four--well, scrambled along with a portion of 
the block.)  

I empathize your arrrgh.  

Dar



On Jun 7, 2013, at 9:18 AM, Geoff Canyon wrote:

> On Wed, Jun 5, 2013 at 5:14 PM, Alex Tweedly <a...@tweedly.net> wrote:
> 
>> Your code has a minor bug :-)
>> 
>> You "get MD5Digest(S[1]) "
>> instead of using   S[i]
>> 
> 
> 
> Arrrrrrrrgh!!! ;-)
> 
> Interestingly, md5 appears to scale roughly linearly on the length of the
> strings. 100x as long string means about 15x as long to md5, while 1000x as
> long string means about 120x as long to md5. sha1 is longer but scales
> similarly.
> _______________________________________________
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to