sha256
JavaScript performance comparison
Preparation code
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="http://www.bichlmeier.info/sha256.js"></script>
<script src="http://www.webtoolkit.info/djs/webtoolkit.sha256.js"></script>
<script src="http://www.movable-type.co.uk/scripts/utf8.js"></script>
<script src="http://www.movable-type.co.uk/scripts/sha256.js"></script>
<script src="http://crypto-js.googlecode.com/files/2.2.0-crypto-sha256.js"></script>
<script src="http://point-at-infinity.org/jssha256/jssha256.js"></script>
<script src="https://rawgithub.com/alexweber/jquery.sha256/master/jquery.sha256.js" type="text/javascript"></script>
<script src="http://crypto.stanford.edu/sjcl/sjcl.js"></script>
<script src="http://vibornoff.com/sha256.js"></script>
<script>
var digest;
</script>
<script>
Benchmark.prototype.setup = function() {
var SIZE = 200 * 1024; // 200K
var chunk = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus in risus non augue vestibulum semper. Nullam feugiat tortor sit amet dolor venenatis ultricies. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque imperdiet ullamcorper ullamcorper. Aliquam eget nunc a diam dapibus ultricies. In hac habitasse platea dictumst. Curabitur nec tortor nibh, fermentum molestie massa. Vestibulum volutpat gravida nisl, vitae viverra eros bibendum a. Vestibulum sed felis arcu, et volutpat leo. Praesent semper, nibh et suscipit auctor, magna enim lacinia diam, id tristique arcu nunc at odio. Nunc vitae est risus, nec placerat velit. Ut rutrum fringilla consectetur. Fusce rutrum dui aliquet ligula suscipit aliquam. Mauris tincidunt, lacus ut suscipit sodales, justo magna accumsan justo, id tristique massa odio semper enim.';
var input = chunk;
while (input.length < SIZE) input += chunk;
input = utf8Encode(input);
var buffer = new Uint8Array(input.length);
for (var i=0; i<input.length; i++) buffer[i] = input.charCodeAt(i);
function utf8Encode(str) {
return window.unescape(window.encodeURIComponent(str));
}
};
</script>
Preparation code output
Test runner
Warning! For accurate results, please disable Firebug before running the tests. (Why?)
Java applet disabled.
Test | Ops/sec | |
---|---|---|
bichlmeier
|
|
pending… |
webtoolkit
|
|
pending… |
movable-type.co.uk
|
|
pending… |
crypto-js
|
|
pending… |
Poettering
|
|
pending… |
Weber
|
|
pending… |
sjcl
|
|
pending… |
Typed Arrays
|
|
pending… |
Compare results of other browsers
Revisions
You can edit these tests or add even more tests to this page by appending /edit
to the URL.
- Revision 1: published
- Revision 2: published Tyler Kellen
- Revision 5: published
- Revision 8: published
- Revision 9: published
- Revision 10: published
- Revision 11: published
- Revision 12: published
- Revision 14: published and last updated
- Revision 15: published
- Revision 16: published kpdecker
- Revision 17: published
- Revision 18: published
- Revision 20: published
- Revision 21: published
- Revision 23: published
- Revision 24: published
- Revision 25: published vibornoff
- Revision 28: published
- Revision 30: published vibornoff
- Revision 31: published
- Revision 32: published
- Revision 33: published Malcolm White
- Revision 34: published vibornoff
- Revision 50: published ICKX
- Revision 51: published
- Revision 53: published
- Revision 55: published alFReD-NSH
- Revision 56: published
- Revision 57: published
- Revision 58: published
- Revision 60: published Eric
- Revision 61: published Andre
- Revision 62: published emn178
- Revision 63: published
- Revision 64: published emn178
- Revision 65: published emn178
- Revision 66: published emn178
- Revision 67: published
- Revision 68: published
- Revision 69: published Jack Yu
- Revision 73: published
- Revision 74: published
0 Comments