SHA算法应该是不错的(SHA-1,SHA-512等......).它们被用于很多地方,也可以使用MD5,但似乎更受尊重.我使用它们进行密码散列,但听起来它们作为单向散列的功能也适用于此.
如果你想要固定大小,你可能然后Base64编码结果字节并取你想要的前N个数字.即使你丢失了一些原始哈希值,这应该会给你足够大的一组不同的可能键,你几乎不可能重复.作为参考框架,这是Base64编码的UUID的示例:"iFHqaiNjhTDpxp7ahBPX0A"
UUID的可能结果集是如此之大,以至于可以随意生成它们,期望它们是唯一的(我知道这很令人惊讶,但是要进行搜索).