0
노드 js를 사용하여 텍스트를 해시드 ID로 변환하고 싶습니다. 이미 js를 사용하여 수행 할 수있는 동일한 종류의 구현을 변환 할 Java 프로그램이 있습니다.노드 js에서 텍스트를 해시로 변환
자바 코드
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을 반환합니다. 정확히 어디입니까? 더 설명해! –
마지막 for 루프의 hashid가 NaN을 반환합니다. 누락 된 항목이 있는지 확실하지 않습니다. – user3671807