【发布时间】:2013-07-15 18:47:08
【问题描述】:
如何将以下 32 位 HEX 转换为 6 位十进制?
MD5: 9d10f0693b9d8e6c32c33d1e9be377b5
我对某些字段进行了哈希处理以获得上述内容。但是,我需要生成 6 位 PIN。
【问题讨论】:
标签: java hash md5 one-time-password
如何将以下 32 位 HEX 转换为 6 位十进制?
MD5: 9d10f0693b9d8e6c32c33d1e9be377b5
我对某些字段进行了哈希处理以获得上述内容。但是,我需要生成 6 位 PIN。
【问题讨论】:
标签: java hash md5 one-time-password
(您的 md5 不是 32 位长,而是 128 个(32 个十六进制字符 * 4 位/字符),但它并不完全相关......对不起)
pin 不会保存散列包含的 128 位信息,因此您必须提取其中的一部分。
我假设你的哈希是一个标准的 java 字符串。
如果您需要 6 位整数:
int pin = hash.hashCode() % 1e6;
我让您检查此方法是否符合您的“安全”要求 :) 希望有帮助!
【讨论】: