将字符串散列到特定长度

时间:2017-07-20 17:27:39

标签: encryption hash cryptography sha2

我的任务是将字符串加密到一定长度。 理想情况下......函数应该作为参数......

  1. 要加密的可变大小的字符串
  2. 生成的加密字符串的长度
  3. 不需要解密。我一直在关注SHA384,但我一直无法在线了解这些示例,以便将其修改为指定长度。

3 个答案:

答案 0 :(得分:1)

您没有说是否需要加密安全哈希。加密哈希:SHA-1,SHA-2,SHA-3和其他具有固定范围的输出大小,通常相对有限。

非加密哈希通常具有更广泛的尺寸范围。对于非加密哈希,我经常建议使用FNV hash,它易于实现,并提供多种输出大小:32位到1024位。

答案 1 :(得分:0)

您无法请求长度,这是方法的一部分。

如果你想要一个更短的输出只需删除多余的字节,每个字节(和位)都是单独随机的,删除哪些字节没有区别。

哈希不是加密,它是一种单向不可反转的函数,它接受可变数量的输入并生成固定数量的输出。

你需要加密哈希吗?

答案 2 :(得分:0)

散列是一种单向函数,意味着它无法逆转。如果要生成许可证密钥(例如),则可以简单地对散列字符串进行子串。