我需要在 Kotlin 上为某些数据生成 MD5 哈希值,但为 16 个字符的字符串,而不是 32 个字符的字符串。目前我找不到办法,需要帮助。但肯定有一种方法存在,因为我找到了网站,它做得正确。
请检查以下网站作为示例:
https://www.freecodeformat.com/md516.php
https://www.freecodeformat.com/md5.php
作为控件,我使用这个字符串 - “1681799732000”。第一个站点生成包含 16 个字符的正确答案 - “92AA8DDBE039D480”,第二个链接 - 32 位字符串 - “E292561C92AA8DDBE039D4808CC51159”。
在 Kotlin 中生成 32 个字符的 MD5 不是问题,但 16 个字符 - 实际上是问题。
您能帮我解答这个问题吗?
编辑 1 - 编码大概是 UTF-8
您无法生成 16 个字符的 MD5 哈希值,但您可以尝试使用一种技巧来获取 16 个字符的唯一字符串(如果适合您的用例)。
如果您将控制字符串放入您返回的每个字符串中:
16: 92aa8ddbe039d480
32: e292561c92aa8ddbe039d4808cc51159
16 个字符的结果似乎是 32 个字符的结果,删除了第一个和最后 8 个字符。