Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

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
Expand Up @@ -196,7 +196,11 @@ exports.pseudoRandomBytes = pseudoRandomBytes;
exports.rng = randomBytes;
exports.prng = pseudoRandomBytes;

exports.getCiphers = getCiphers;

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


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

return names;
return names.sort();
};
10 changes: 10 additions & 0 deletions test/simple/test-crypto.js
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' +
'\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.
assert.notEqual(0, crypto.getCiphers());
assert.notEqual(-1, crypto.getCiphers().indexOf('AES256-SHA'));
assertSorted(crypto.getCiphers());

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

0 comments on commit 2fbf061

Please sign in to comment.