diff --git a/src/convert.js b/src/convert.js index 0188ffa..5bcb4a7 100644 --- a/src/convert.js +++ b/src/convert.js @@ -2,36 +2,6 @@ var assert = require('assert') var Crypto = require('crypto-js') var WordArray = Crypto.lib.WordArray -function lpad(str, padString, length) { - while (str.length < length) str = padString + str - return str -} - -function bytesToHex(bytes) { - // FIXME: transitionary fix - if (Buffer.isBuffer(bytes)) { - return bytes.toString('hex') - } - - return bytes.map(function(x) { - return lpad(x.toString(16), '0', 2) - }).join('') -} - -function hexToBytes(hex) { - return hex.match(/../g).map(function(x) { - return parseInt(x,16) - }) -} - -/** - * Convert a byte array to the number that it represents - */ -function bytesToNum(bytes) { - if (bytes.length === 0) return 0 - return bytes[0] + 256 * bytesToNum(bytes.slice(1)) -} - function bytesToWords(bytes) { assert(Array.isArray(bytes) || Buffer.isBuffer(bytes), 'Input must be a byte array') var words = [] @@ -57,15 +27,14 @@ function wordArrayToBytes(wordArray) { return wordsToBytes(wordArray.words) } -function reverseEndian (hex) { - return bytesToHex(hexToBytes(hex).reverse()) +function reverseEndian(hex) { + var buffer = new Buffer(hex, 'hex') + Array.prototype.reverse.call(buffer) + + return buffer.toString('hex') } module.exports = { - lpad: lpad, - bytesToHex: bytesToHex, - hexToBytes: hexToBytes, - bytesToNum: bytesToNum, bytesToWords: bytesToWords, wordsToBytes: wordsToBytes, bytesToWordArray: bytesToWordArray, diff --git a/test/convert.js b/test/convert.js index a22907f..10abfff 100644 --- a/test/convert.js +++ b/test/convert.js @@ -2,29 +2,6 @@ var assert = require('assert') var convert = require('../').convert describe('convert', function() { - describe('bytesToHex', function() { - it('handles example 1', function() { - assert.equal(convert.bytesToHex([0, 1, 2, 255]), '000102ff') - }) - }) - - describe('hexToBytes', function() { - it('handles example 1', function() { - assert.deepEqual(convert.hexToBytes('000102ff'), [0, 1, 2, 255]) - }) - }) - - it('converts from bytes to hex and back', function() { - var bytes = [] - for (var i=0 ; i<256 ; ++i) { - bytes.push(i) - } - - var hex = convert.bytesToHex(bytes) - assert.equal(hex.length, 512) - assert.deepEqual(convert.hexToBytes(hex), bytes) - }) - describe('byte array and word array conversions', function(){ var bytes, wordArray