我需要对字符串使用散列和对散列(双向)函数。散列应该是固定长度(5-6个符号)。
示例:
String hashed = MagicHashLib.hash("long string"); //hash is hd45dk as an example
String enhashedLongString = MagicHashLib.enhash(hash);是否已经在Java中实现了算法?还是我应该自己写?
发布于 2018-06-01 09:13:44
我不认为这种散列存在,不管编程语言是什么。
以下是哈希函数维基百科页面的引文
A hash function is any function that can be used to map data of arbitrary size to data of fixed size.这意味着您有一组固定的值,例如,6个字符长散列可以存储16^6不同的值。但是,您可以创建任何字符串的哈希值。因此,哈希函数将潜在无限不同的值映射到一组固定的值。因此会有碰撞。因此,您不能仅仅通过哈希值来判断,而哈希值是正确的原始值。
一个来自假想散列函数的简单示例:John映射到abc。Jane映射到ghi。Doe还映射到abc。那么,当您将abc视为散列值时,这是从何而来的呢?是John吗?是Doe吗?
发布于 2018-06-01 09:10:08
https://stackoverflow.com/questions/50639826
复制相似问题