0
Я хочу преобразовать текст в хэш-идентификатор чисел с помощью узла js. У меня уже есть программа java для конвертирования, но такая же реализация должна выполняться с помощью узла js.преобразовать текст в хэш в узле js
Java Code
public static long generateId(String text) {
byte[] buffer = null;
MessageDigest md = null;
try {
md = MessageDigest.getInstance("SHA1");
md.reset();
buffer = text.getBytes(Charsets.UTF_8);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
md.update(buffer);
byte[] digest = md.digest();
String hexStr = "";
for (int i = 0; i < digest.length; i++) {
hexStr += Integer.toString((digest[i] & 0xff) + 0x100, 16).substring(1);
}
long hashid = 0;
for (int i = 0; i < hexStr.length(); i++)
hashid += Math.abs((long) Math.pow(27, 10 - i) * ('a' - (1 + hexStr.charAt(i))));
return hashid;
}
Я был в состоянии преобразовать в nodejs ДО дайджеста после этого я не могу продолжить.
function generateHashCode()
{
var text = '9/01/2017'+'xx'+'405'+''+'SDD'+'MDD'+'9';
var crypto = require('crypto');
console.log(crypto.createHash('SHA1').update(text).digest("hex"));
var hexDigest = crypto.createHash('SHA1').update(text).digest("hex");
var hexStr;
}
Пожалуйста, помогите мне в этом
Спасибо! последняя итерация возвращает NaN – user3671807
@ user3671807 Где именно? Объясни подробней! –
hashid в последнем для цикла возвращает NaN, не уверен, что я что-то упустил. – user3671807