可能重复:
PHP双向加密:我需要存储可以检索的密码
我计划在我的网站上为我的用户存储外国帐户信息,也就是用户名和密码等等...我想保证信息的安全,但我知道如果我散列他们的信息,我无法检索它以供以后使用.
Base64是可解密的,所以没有必要使用它只是简单的关闭.我的想法是加扰用户并在它解密之前和之后通过这种方式传递,如果你尝试解密,你会得到一些看起来很有趣的文本.是否有一个php函数接受将进行字符串的唯一加扰的值,并在以后重新计算该值时对其进行解扰?
有什么建议?
这是为了有一个很好的短URL,它指的是数据库中的md5哈希.我想转换这样的东西:
a7d2cd9e0e09bebb6a520af48205ced1
进入这样的事情:
hW9lM5f27
这些都包含大约相同数量的信息.该方法不必是直接的和可逆的,但这样会很好(更灵活).至少我希望随机生成的字符串以十六进制哈希作为种子,因此它是可重现的.我确信有很多可能的答案,我很想知道人们会如何以优雅的方式做到这一点.
哦,这不需要与原始哈希完美的1:1对应,但这将是一个奖励(我想我已经暗示了可逆性标准).如果可能的话,我想避免碰撞.
编辑 我意识到我的初步计算是完全错误的(感谢人们在这里回答,但我花了一些时间才知道)并且通过将所有小写字母和大写字母放入混合中,你无法真正减少字符串长度.所以我想我会想要一些不能直接从hex转换为base 62的东西.