MD5 Shootout (v81)

Revision 81 of this benchmark created by emn178 on


Description

This does a simple comparison of a number of JS implementations of the MD5 algorithm.

Preparation HTML

<script src="https://cdn.rawgit.com/gorhill/yamd5.js/master/yamd5.min.js"></script>
<script src="https://rawgit.com/satazor/SparkMD5/master/spark-md5.min.js"></script>
<script src="https://rawgit.com/iReal/FastMD5/master/lib/md5.js"></script>
<script>
fast_md5 = md5;
md5 = null;
</script>
<script src="https://rawgit.com/emn178/js-md5/master/src/md5.js"></script>
<script>
js_md5 = md5;
md5 = null;
</script>
<script src="https://rawgit.com/blueimp/JavaScript-MD5/master/js/md5.min.js"></script>
<script>
javascript_md5 = md5;
md5 = null;
</script>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="https://cdn.rawgit.com/placemarker/jQuery-MD5/master/jquery.md5.js"></script>
<script src="https://rawgit.com/h2non/jshashes/master/hashes.min.js"></script>
<script>
Hashes_MD5 =  new Hashes.MD5;
</script>
<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/md5.js"></script>

Setup

var str = 'The quick brown fox jumps over the lazy dog.';
    var str2 = 'Около 863 года братья Константин (Кирилл) Философ и Мефодий из Солуни (Салоники) по приказу византийского императора Михаила III упорядочили письменность для старославянского языка и использовали новую азбуку для перевода на славянский язык греческих религиозных текстов[2]:44. Долгое время дискуссионным оставался вопрос, была ли это кириллица (и в таком случае глаголицу считают тайнописью, появившейся после запрещения кириллицы) или глаголица — азбуки, различающиеся почти исключительно начертанием. В настоящее время в науке преобладает точка зрения, согласно которой глаголица первична, а кириллица вторична (в кириллице глаголические буквы заменены на известные греческие). Глаголица длительное время в несколько изменённом виде употреблялась у хорватов (до XVII в). Появление кириллицы, основывающейся на греческом уставном (торжественном) письме — унциале[2]:45, связывают с деятельностью болгарской школы книжников (после Кирилла и Мефодия). В частности, в житии св. Климента Охридского прямо пишется о создании им славянской письменности уже после Кирилла и Мефодия. Благодаря предыдущей деятельности братьев азбука получила широкое распространение в южнославянских землях, что привело в 885 году к запрещению её использования в церковной службе римским папой, боровшимся с результатами миссии Константина-Кирилла и Мефодия.';
    var str3 = '訊息摘要演算法第五版(英語:Message-Digest Algorithm 5,縮寫為MD5)';

Test runner

Ready to run.

Testing in
TestOps/sec
YaMD5
YaMD5.hashStr(str);
YaMD5.hashStr(str2);
YaMD5.hashStr(str3);
ready
FastMD5
fast_md5(str);
fast_md5(str2);
fast_md5(str3);
ready
js-md5
js_md5(str);
js_md5(str2);
js_md5(str3);
ready
JavaScript MD5
javascript_md5(str);
javascript_md5(str2);
javascript_md5(str3);
ready
SparkMD5
SparkMD5.hash(str);
SparkMD5.hash(str2);
SparkMD5.hash(str3);
ready
jQuery-MD5
$.md5(str);
$.md5(str2);
$.md5(str3);
ready
jsHashes
Hashes_MD5.hex(str);
Hashes_MD5.hex(str2);
Hashes_MD5.hex(str3);
ready
CryptoJS
CryptoJS.MD5(str).toString();
CryptoJS.MD5(str2).toString();
CryptoJS.MD5(str3).toString();
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.