crypto-js pbkdf2 sha512

Benchmark created on


Preparation HTML

<script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/sha256.js">
</script>
<script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/sha512.js">
</script>
<script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/pbkdf2.js">
</script>
<script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/components/enc-base64-min.js
">
</script>

Setup

var username = "John_Doe";
    var password = "wegotahellofamasterpassword!"

Test runner

Ready to run.

Testing in
TestOps/sec
Salt SHA256, PRF SHA512, iterations 1000, dkLen 512
var salt = CryptoJS.SHA256(username);
var hash = CryptoJS.SHA512(password);

var key = CryptoJS.PBKDF2(hash, salt, {
  keySize: 512 / 32,
  iterations: 1000
});

key.toString(CryptoJS.enc.Base64)
ready
Salt SHA256, PRF SHA512, iterations 500, dkLen 512
var salt = CryptoJS.SHA256(username);
var hash = CryptoJS.SHA512(password);

var key = CryptoJS.PBKDF2(hash, salt, {
  keySize: 512 / 32,
  iterations: 500
});

key.toString(CryptoJS.enc.Base64)
ready
Salt SHA256, PRF SHA256, iterations 1000, dkLen 256
var salt = CryptoJS.SHA256(username);
var hash = CryptoJS.SHA256(password);

var key = CryptoJS.PBKDF2(hash, salt, {
  keySize: 256 / 32,
  iterations: 1000
});

key.toString(CryptoJS.enc.Base64)
ready
Salt SHA256, PRF SHA256, iterations 500, dkLen 256
var salt = CryptoJS.SHA256(username);
var hash = CryptoJS.SHA256(password);

var key = CryptoJS.PBKDF2(hash, salt, {
  keySize: 256 / 32,
  iterations: 500
});

key.toString(CryptoJS.enc.Base64)
ready

Revisions

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