哈希和验证

需要更多信息。

加密哈希函数是具有三个重要属性的一类函数的成员; 一致性,独特性和不可逆性。

一致性: 给定相同的数据,哈希函数将始终返回相同的值。也就是说,如果 X = Y,则对于散列函数 f,f(x) 将始终等于 f(y)

唯一性: 哈希函数的两个输入都不会产生相同的输出。也就是说,如果 X != Y,f(x) != f(y),对于 X 和 Y 的任何值。

不可逆性: 如果不是不可能的话,反转散列函数是不切实际的。也就是说,只给出 f(X),就没有办法找到原始 X 不能通过函数 f(强力)放置 X 的每个可能值。应该没有函数 f1 使得 f1(f(X))= X.

许多功能缺少这些属性中的至少一个。例如,已知 MD5 和 SHA1 具有冲突,即具有相同输出的两个输入,因此它们缺乏唯一性。目前被认为是安全的一些功能是 SHA-256 和 SHA-512。