Skip to content

Commit

Permalink
crypto: sort return value of getCiphers/getHashes
Browse files Browse the repository at this point in the history
  • Loading branch information
bnoordhuis committed Oct 13, 2012
1 parent 14a6c4e commit 2fbf061
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
8 changes: 6 additions & 2 deletions lib/crypto.js
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -196,7 +196,11 @@ exports.pseudoRandomBytes = pseudoRandomBytes;
exports.rng = randomBytes; exports.rng = randomBytes;
exports.prng = pseudoRandomBytes; exports.prng = pseudoRandomBytes;


exports.getCiphers = getCiphers;
exports.getCiphers = function() {
return getCiphers.call(null, arguments).sort();
};



exports.getHashes = function() { exports.getHashes = function() {
var names = getHashes.call(null, arguments); var names = getHashes.call(null, arguments);
Expand All @@ -210,5 +214,5 @@ exports.getHashes = function() {
}); });
names = Object.getOwnPropertyNames(ctx); names = Object.getOwnPropertyNames(ctx);


return names; return names.sort();
}; };
10 changes: 10 additions & 0 deletions test/simple/test-crypto.js
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -684,13 +684,23 @@ testPBKDF2('pass\0word', 'sa\0lt', 4096, 16,
'\x56\xfa\x6a\xa7\x55\x48\x09\x9d\xcc\x37\xd7\xf0\x34' + '\x56\xfa\x6a\xa7\x55\x48\x09\x9d\xcc\x37\xd7\xf0\x34' +
'\x25\xe0\xc3'); '\x25\xe0\xc3');


function assertSorted(list) {
for (var i = 0, k = list.length - 1; i < k; ++i) {
var a = list[i + 0];
var b = list[i + 1];
assert(a <= b);
}
}

// Assume that we have at least AES256-SHA. // Assume that we have at least AES256-SHA.
assert.notEqual(0, crypto.getCiphers()); assert.notEqual(0, crypto.getCiphers());
assert.notEqual(-1, crypto.getCiphers().indexOf('AES256-SHA')); assert.notEqual(-1, crypto.getCiphers().indexOf('AES256-SHA'));
assertSorted(crypto.getCiphers());


// Assert that we have sha and sha1 but not SHA and SHA1. // Assert that we have sha and sha1 but not SHA and SHA1.
assert.notEqual(0, crypto.getHashes()); assert.notEqual(0, crypto.getHashes());
assert.notEqual(-1, crypto.getHashes().indexOf('sha1')); assert.notEqual(-1, crypto.getHashes().indexOf('sha1'));
assert.notEqual(-1, crypto.getHashes().indexOf('sha')); assert.notEqual(-1, crypto.getHashes().indexOf('sha'));
assert.equal(-1, crypto.getHashes().indexOf('SHA1')); assert.equal(-1, crypto.getHashes().indexOf('SHA1'));
assert.equal(-1, crypto.getHashes().indexOf('SHA')); assert.equal(-1, crypto.getHashes().indexOf('SHA'));
assertSorted(crypto.getHashes());

0 comments on commit 2fbf061

Please sign in to comment.