Interessante. Non riesco a riprodurlo con Javascript. Poiché il tuo ultimo metodo è una conversione binary2hex, ma il risultato della decodifica base62 non è una rappresentazione binaria, per quanto ne capisco.
Da una prospettiva JS, ho trovato utili i seguenti elementi:
https://www.npmjs.com/package/aybabtu
function fromBase62(s) {
var digits = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var result = 0;
for (var i = 0; i < s.length; i++) {
var p = digits.indexOf(s[i]);
if (p < 0) {
return NaN;
}
result += p * Math.pow(digits.length, s.length - i - 1);
}
return result;
}
Sfortunatamente, né i metodi bin2hex né dec2hex aiutano quando uso le tue stringhe di input.
Ho creato un codesandbox per questo problema, se qualcuno è interessato a giocarci. Il valore finale è 1 per la mia stringa di input, il che è sbagliato ;(
Grazie