35 lines
799 B
JavaScript
35 lines
799 B
JavaScript
'use strict';
|
|
|
|
var Enc = module.exports;
|
|
|
|
Enc.base64ToHex = function base64ToHex(b64) {
|
|
return Buffer.from(b64, 'base64').toString('hex').toLowerCase();
|
|
};
|
|
|
|
Enc.bufToBase64 = function bufToBase64(u8) {
|
|
// we want to maintain api compatability with browser APIs,
|
|
// so we assume that this could be a Uint8Array
|
|
return Buffer.from(u8).toString('base64');
|
|
};
|
|
|
|
Enc.bufToHex = function toHex(u8) {
|
|
return Buffer.from(u8).toString('hex').toLowerCase();
|
|
};
|
|
|
|
Enc.hexToBuf = function (hex) {
|
|
return Buffer.from(hex, 'hex');
|
|
};
|
|
|
|
Enc.numToHex = function numToHex(d) {
|
|
d = d.toString(16);
|
|
if (d.length % 2) {
|
|
return '0' + d;
|
|
}
|
|
return d;
|
|
};
|
|
|
|
Enc.utf8ToHex = function utf8ToHex(str) {
|
|
// node can properly handle utf-8 strings
|
|
return Buffer.from(str).toString('hex').toLowerCase();
|
|
};
|