是否可以创建等同于 Java 的 UUID 生成器的 Java 脚本版本
Is it possible to create a Javascript version of UUID generator equivalent to Java's
是否可以创建等同于 Java 的 UUID.nameUUIDFromBytes("Hello world".getBytes(Charsets.UTF_8))
的 javascript 版本的 UUID 生成器。 Javascript 或 Jquery.
有什么可用的吗
return Java 和 Java 脚本版本的输入字符串的确切 UUID。这是Java版本的做法,https://ideone.com/GYvxCE供参考。
请帮忙。
https://www.npmjs.com/package/uuid
看起来这个包的方法与您正在寻找的方法相似
谢谢大家的帮助。我修改了@Akrion 提供的解决方案,它对我有用。
修改后的解决方案如下。
const crypto = require('crypto');
const hexToUuid = require('hex-to-uuid');
const java_kind_hash = (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('java_kind_hash ', java_kind_hash ("HelloWorld"));
// 68e109f0-f40c-372a-95e0-5cc22786f8e6
是否可以创建等同于 Java 的 UUID.nameUUIDFromBytes("Hello world".getBytes(Charsets.UTF_8))
的 javascript 版本的 UUID 生成器。 Javascript 或 Jquery.
return Java 和 Java 脚本版本的输入字符串的确切 UUID。这是Java版本的做法,https://ideone.com/GYvxCE供参考。
请帮忙。
https://www.npmjs.com/package/uuid
看起来这个包的方法与您正在寻找的方法相似
谢谢大家的帮助。我修改了@Akrion 提供的解决方案,它对我有用。
修改后的解决方案如下。
const crypto = require('crypto');
const hexToUuid = require('hex-to-uuid');
const java_kind_hash = (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('java_kind_hash ', java_kind_hash ("HelloWorld"));
// 68e109f0-f40c-372a-95e0-5cc22786f8e6