Hash 可变输出哈希函数
我知道有一些散列函数,从一个可变长度的输入可以得到一个固定的输出。举一个最简单的例子,使用十的模块,无论输入数字有多大,我都会得到0到9之间的输出 我需要从一个未知的密码,一个可变长度的输出。我的第一个想法是使用这个模块,将prim数增加到输出所需的位数 我的问题是:Hash 可变输出哈希函数,hash,Hash,我知道有一些散列函数,从一个可变长度的输入可以得到一个固定的输出。举一个最简单的例子,使用十的模块,无论输入数字有多大,我都会得到0到9之间的输出 我需要从一个未知的密码,一个可变长度的输出。我的第一个想法是使用这个模块,将prim数增加到输出所需的位数 我的问题是: 我必须像处理长密码一样处理短密码 我不知道在编写程序之前输出需要多长时间,即使我知道在用户设置密码后,如果他修改了文件,我可能需要更改密码 我的第一个想法是使用一个简单的函数,并根据需要修改它 如果我必须散列123,但我需要有
- 我必须像处理长密码一样处理短密码李>
- 我不知道在编写程序之前输出需要多长时间,即使我知道在用户设置密码后,如果他修改了文件,我可能需要更改密码
对于这类问题,文献中是否有一些常见的解决方案?“可变长度输出”-您需要的输出长度是否有任何限制/范围?例如,如果总是为了确保这里没有根本性的误解,如果您想要一个介于0和9999之间的值,您可以采用更大的散列(例如16、32或64位散列),然后应用
%10000
。我想将用户密码作为输入,然后为各种用途进行操作。例如,我可能希望它变为256位长,或者512位,甚至1024位,这取决于具体情况。让我们假设我有一个(用户密码),B(一些盐系统)给C作为输出。我可以做A*B=C,增加B得到更大的C,但我失去了一些不那么琐碎的东西。