I have a 3rd party application that I can\'t control that uses Java\'s UUID.nameUUIDFromBytes to create a string. I need to reproduce this function written in J
This solution gave me exact UUID for me
const crypto = require('crypto');
const hexToUuid = require('hex-to-uuid');
const javaHash = (input) => {
var md5Bytes = crypto.createHash('md5').update(input).digest()
md5Bytes[6] &= 0x0f; // clear version
md5Bytes[6] |= 0x30; // set to version 3
md5Bytes[8] &= 0x3f; // clear variant
md5Bytes[8] |= 0x80; // set to IETF variant
return hexToUuid(md5Bytes.toString('hex'))
}
console.log('javaHash', javaHash("HelloWorld"));
// 68e109f0-f40c-372a-95e0-5cc22786f8e6