If you mean "how does md5 calculate this unique value from a file/string?", the answer is beyond the scope of this post. It's a complex process, with LOTS of calculations etc. There is an md5 snippet on www.mircscripts.org (was written before $md5 was implemented in mirc), you can check it out and get an idea. I'm sure you can find plenty of info on the net though.

If you actually wanted to know why md5/crc are useful, read on, otherwise ignore the rest.

$md5 / $crc produce a unique string for any input you give them. In other words, no two different inputs can produce the same output. This means that you can use an md5/crc result as a unique ID, something like a fingerprint: no two people in the world have the same fingerprints. md5/crc are also irreversible, ie one-way: you cannot get the input from the output. These two features make md5/crc useful in two major fields:

1) passwords: instead of keeping a list of passwords, a bot (for example) can keep a list of their md5 values. When a user logs in to that bot, the bot would do a $md5(<password given by the user>) and check it against the md5 value it has stored in the password list. This way, the passwords are safe from anyone that could gain access to the password list, because you can't get the password from its md5 value.

2) file verification: say you download a file from the internet and you want to make sure it's not corrupted. Checking the file size isn't good enough (if, for example, the 3rd byte is different in two files, they have the same size but they are obviously different files). If the source (for example, the website that offers the file) gives you the md5 value of the file, you can compare this value with the value of the file you downloaded. If these values are the same, you can be sure that your file was downloaded fine (again, because no two different files can give the same md5)


/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com