Java代码转换Golang版本:生成唯一标识符

原始Java代码:

String nsrsbh = '91370213MA3M26CP0C';
String key = UUID.nameUUIDFromBytes(nsrsbh.getBytes()).toString().replaceAll('-', '');

Golang版本代码:

import (
    "fmt"
    "crypto/md5"
    "encoding/hex"
)

func main() {
    nsrsbh := '91370213MA3M26CP0C'
    data := []byte(nsrsbh)
    hash := md5.Sum(data)
    key := hex.EncodeToString(hash[:])
    fmt.Println(key)
}

代码说明:

  1. Java代码使用UUID.nameUUIDFromBytes方法生成唯一标识符,并将'-'替换为空字符串。
  2. Golang代码使用crypto/md5包计算nsrsbh字符串的MD5哈希值,然后使用encoding/hex包将哈希值转换为十六进制字符串。

代码功能:

两段代码都实现了根据输入字符串生成一个唯一的标识符。Golang代码使用MD5算法生成哈希值,并转换为十六进制字符串,与Java代码使用UUID算法生成的标识符不同,但都能保证唯一性。

注意:

  • Golang代码生成的标识符与Java代码生成的标识符不同。
  • MD5算法是一种单向哈希算法,无法从哈希值反推回原始字符串。
  • 使用MD5算法生成唯一标识符时,需要确保输入字符串的唯一性,否则可能会生成相同的标识符。

总结:

本文介绍了将Java代码中使用UUID.nameUUIDFromBytes生成唯一标识符的代码转换为Golang版本的实现。Golang代码使用MD5算法生成唯一标识符,并使用encoding/hex包将哈希值转换为十六进制字符串。两种方法都能生成唯一的标识符,但生成的标识符不同。

Java String 转 Golang MD5 唯一标识符生成

原文地址: https://www.cveoy.top/t/topic/m50I 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录