确定基于字符串和salt使用的加密

时间:2012-11-28 02:49:25

标签: encryption hash theory

我正在逆向设计一个我一直负责理解的系统。系统使用令牌和半随机[1]时间戳(作为salt)和未知的散列函数来生成用于身份验证的随机密钥。

它产生的字符串长度为64个字符,并且似乎有一个散列模式。例如(基于虚构的输入和不相关长度的输出,因为这个问题是理论):

salt: 135407067754316
token: aaaa.bbbb.cccc.dddd

这会产生:

hash: d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427e

然后改变盐:

salt: 13540707209819
token: aaaa.bbbb.cccc.dddd

产地:

hash: d41d9g838fddb275e9800123ecf8427ed41d9g838fddb275e9800123ecf8427e

与第一个哈希值相似(前3个字符始终匹配),其中生成的唯一区别是密钥(半随机时间戳),这使我得出结论:他们正在使用一些使用随机时间戳作为盐的基本哈希。

问题我如何缩小他们加密的方式或使用的功能?我可以导致生成我需要的任意数量的哈希(使用密钥和令牌)但是我不能使用我的令牌和选择键来产生哈希值。结果是64个字符的长度。

如果我有100,200,500,1000,10000,100000个盐,代币和结果的例子,是否存在可以让我强制生成方法的技术?

[1]半随机化意味着他们采用当前时间戳(例如:1354068826)并在末尾添加随机5长度数字,以创建类似135406882613951的内容。

最后请注意,除了基本想法(输入值和盐,获取哈希)之外,我对加密或散列或安全性一无所知。

0 个答案:

没有答案