add base64 in toString

pull/12/head
caub 8 years ago
parent 8b9a23ce32
commit 461adc8ac6

@ -12,9 +12,9 @@
"uglifyjs": "~2.4.10" "uglifyjs": "~2.4.10"
}, },
"scripts": { "scripts": {
"test": "mocha tests/node-test.js -r jscoverage", "test": "mocha tests/node-test.js",
"report": "mocha tests/node-test.js -r jscoverage --covout=html", "report": "mocha tests/node-test.js -r jscoverage --covout=html",
"coveralls": "mocha tests/node-test.js -R mocha-lcov-reporter -r jscoverage | coveralls", "coveralls": "mocha tests/node-test.js -R mocha-lcov-reporter | coveralls",
"doc": "rm -rf doc;jsdoc src README.md -d doc", "doc": "rm -rf doc;jsdoc src README.md -d doc",
"compress": "uglifyjs src/md5.js --compress --mangle --comments --output build/md5.min.js", "compress": "uglifyjs src/md5.js --compress --mangle --comments --output build/md5.min.js",
"build": "npm run-script compress;npm run-script doc" "build": "npm run-script compress;npm run-script doc"

@ -15,6 +15,10 @@
if (NODE_JS) { if (NODE_JS) {
root = global; root = global;
} }
var btoa = NODE_JS ? function(strOrBuffer){
return Buffer.from(strOrBuffer, 'binary').toString('base64');
} : window && window.btoa;
var COMMON_JS = !root.JS_MD5_NO_COMMON_JS && typeof module === 'object' && module.exports; var COMMON_JS = !root.JS_MD5_NO_COMMON_JS && typeof module === 'object' && module.exports;
var AMD = typeof define === 'function' && define.amd; var AMD = typeof define === 'function' && define.amd;
var ARRAY_BUFFER = !root.JS_MD5_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined'; var ARRAY_BUFFER = !root.JS_MD5_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';
@ -496,7 +500,11 @@
* @example * @example
* hash.toString(); * hash.toString();
*/ */
Md5.prototype.toString = Md5.prototype.hex; Md5.prototype.toString = function(enc) {
if (enc == 'hex') return this.hex();
if (enc == 'base64') return btoa(this.digest().reduce((data, byte) => data + String.fromCharCode(byte), ''));
return this.hex(); // by default (for not modifying all tests), I'd prefer .digest() by default
}
/** /**
* @method digest * @method digest

Loading…
Cancel
Save