xml-fiesta
Version:
Electronic signed document XML Protocol for Node & Browser
58 lines • 1.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var jsrsasign = require('jsrsasign');
function extend(object, properties) {
for (var key in properties) {
var val = properties[key];
object[key] = val;
}
return object;
}
exports.extend = extend;
function b64toHex(b64String) {
return Buffer.from(b64String, 'base64').toString('hex');
}
exports.b64toHex = b64toHex;
function hextoB64(hexString) {
return Buffer.from(hexString, 'hex').toString('base64');
}
exports.hextoB64 = hextoB64;
function hextoAscii(hexString) {
return Buffer.from(hexString, 'hex').toString('ascii');
}
exports.hextoAscii = hextoAscii;
function b64toAscii(b64String) {
return Buffer.from(b64String, 'base64').toString('ascii');
}
exports.b64toAscii = b64toAscii;
function parseDate(date) {
var parsed;
try {
parsed = date.match(/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})\..*Z/);
parsed.shift(1);
return new Date(Date.UTC(parseInt(parsed[0]), parseInt(parsed[1]) - 1, parseInt(parsed[2]), parseInt(parsed[3]), parseInt(parsed[4]), parseInt(parsed[5])));
}
catch (error) {
parsed = date.match(/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})\..*Z/);
parsed.shift(1);
return new Date(Date.UTC(parseInt(parsed[0]) + 2000, parseInt(parsed[1]) - 1, parseInt(parsed[2]), parseInt(parsed[3]), parseInt(parsed[4]), parseInt(parsed[5])));
}
}
exports.parseDate = parseDate;
function sha256(string) {
var digest = new jsrsasign.crypto.MessageDigest({
alg: 'sha256',
prov: 'cryptojs'
});
return digest.digestString(string);
}
exports.sha256 = sha256;
function sha256hex(hex) {
var digest = new jsrsasign.crypto.MessageDigest({
alg: 'sha256',
prov: 'cryptojs'
});
return digest.digestHex(hex);
}
exports.sha256hex = sha256hex;
//# sourceMappingURL=common.js.map