什么加密方案返回一个短字符串?我想要一个小于32个字符的小结果。我也希望能够解密它回到原来的明文。其目的是通过电子邮件发送代码的电子邮件验证。当收到代码时,用户登录到站点并输入代码(或点击链接)。加密为短字符串
编辑:DECRYPTION很重要,因为验证后我需要涉及两个非相关记录
由于
什么加密方案返回一个短字符串?我想要一个小于32个字符的小结果。我也希望能够解密它回到原来的明文。其目的是通过电子邮件发送代码的电子邮件验证。当收到代码时,用户登录到站点并输入代码(或点击链接)。加密为短字符串
编辑:DECRYPTION很重要,因为验证后我需要涉及两个非相关记录
由于
你在谈论加密,但显然需要散列函数。然后,您可以将哈希与您想要的任何数据模型相关联(无论您希望在这种情况下“加密”)在数据库中。散列用作键值存储的键,并且可以是完全随机的。加密字符串的最终大小始终与原始字符串的大小直接相关。否则,你可能会混淆哈希和加密。
因此,一个简单的用例:
在pending_users表中存在$ random_key。如果找到,它将删除记录并更改users表中的标志(例如,active_account = true)。如果未找到,则将错误发回给用户。
希望这有助于 干杯
验证系统一样,使用随机产生的字符串(它们被存储在当创建帐户数据库) ,而不是加密的数据。
你需要解密回来!您可以生成非重复的随机字符串并将该代码分配给该用户。然后搜索代码并从数据库中获取用户。您可以添加额外的功能来存储它的创建时间和24小时
到期,如果你不需要安全,单向散列函数就足够了。 CRC32是一个不错的选择。您可以发送消息,然后等待用户输入相同的响应。
你问什么是不可能的。编写像pkzip和rar这样的程序的公司愿意为此而牺牲的是圣杯。想象一下任何文件(少量的数据)都可以压缩成只有32个字节。 ;)
无论如何,你正在尝试做的事情之前已经完成了。通过在数据库中存储带有电子邮件的uuid。该quid将邮寄给用户,他们可以在您的表单中输入。然后它只是对数据库的简单查询来查找相应的记录。
http://stackoverflow.com/a/1289114/233286 – ilhan
加密是不是这个问题的合适工具。 –