代码之家  ›  专栏  ›  技术社区  ›  Mahesh Bongani

是否可以创建一个等同于Java的uuID生成器的JavaScript版本?

  •  0
  • Mahesh Bongani  · 技术社区  · 7 年前

    是否可以创建一个等同于Java的uuID生成器的JavaScript版本? UUID.nameUUIDFromBytes("Hello world".getBytes(Charsets.UTF_8)) . 有什么可用于javascript或jquery的吗?

    它应该返回Java和JavaScript版本的输入字符串的精确UUID。这里是Java版本, https://ideone.com/GYvxCE 供参考。

    请帮忙。

    2 回复  |  直到 7 年前
        1
  •  1
  •   balzee    7 年前
        2
  •  1
  •   Mahesh Bongani    7 年前

    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