我需要一个哈希算法,它采用28 character alphanumeric [a-zA-Z0-9]
字符串并输出16 Byte Hex
UUID。
示例:哈希(" cVoFfGI0vhfvWD61Hh1QTsmUJRT2")= 2f234454-cf6d-4a0f-adf2-f4911ba9ffa6
有没有办法使用md5或SHA1?
感谢。
编辑1: 字母数字字符串的长度固定为28个字符。
答案 0 :(得分:1)
这里是javascript(nodeJS)
的解决方案var crypto = require('crypto');
function hash(input) {
var s = crypto.createHash('md5').update(input).digest("hex");
return s.substr(0, 8) + '-' + s.substr(8, 4) + '-' + s.substr(12, 4) + '-' + s.substr(16, 4) + '-' + s.substr(20, 12);
}
hash('cVoFfGI0vhfvWD61Hh1QTsmUJRT2');