将32位长十六进制转换为6位数字OTP

时间:2013-07-17 09:25:28

标签: java hash md5 otp

如何将followint 32位十六进制转换为6位小数?

MD5:9d10f0693b9d8e6c32c33d1e9be377b5

我为了得到上述内容而挖掘了某些字段。但是,我需要生成6位数的PIN。

1 个答案:

答案 0 :(得分:2)

(你的md5不是32位长,而是128位(32位十六进制字符* 4位/字符),但它不是明确相关的...抱歉)

该引脚不会保存散列包含的128位信息,因此您必须使用它的子部分。

我假设你的哈希是一个标准的java字符串。

如果你需要将引脚作为6位int:

int pin = hash.hashCode() % 1e6;

我让你检查一下这种方法是否符合你的“安全”要求:) 希望它有所帮助!