if (!String.prototype.toNumberString) { /** * Converts each character into its numerical representation of given base * By default converts to Hexadecimal (base = 16) * This conversion is required for JWT implementation http://kjur.github.io/jsrsasign/ * * Examples: * '*123'.toNumberString(); //returns '2a313233' * '*123'.toNumberString(10); //returns '42495051' * '*123'.toNumberString(8); //returns '52616263'; * '*123'.toNumberString(16, 1, 2, 'Hex:'); //returns 'Hex:3132'; */ String.prototype.toNumberString = function(base, start, length, prefix) { start = start || 0; length = start + (undefined === length ? this.length : length); prefix = prefix || ''; for (; start < length; start++) { prefix += this.charCodeAt(start).toString(base || 16); } return prefix; } }