我正在寻找存储(在mySQL中)电话号码的混淆版本,其中该号码用于验证(我需要能够取回原始号码).
我想过一个任意的方案,比如存储数字*15或某些常数只有我的应用才知道.
有什么更好的方法呢?
编辑:我想澄清的一些事情:
保存的电话号码可用于登录iPhone应用程序 - 因此我希望用户能够查看他们已连接到服务的号码,以便他们稍后使用其他号码登录应用程序.这意味着我无法散列该值.
基本上我正在寻找一种方法来保护数据,如果有人举起我的数据库,他们没有一堆原始形式的电话号码.所以我想对它们进行模糊处理,以便我可以使用它们进行身份验证,但是能够以原始形式恢复原状,而不会将其保存为原始状态.
编辑:为了澄清,我不是认证上JUST的电话号码.如果实施,它将是电话号码+密码!输入可能存在的单个数字字符串,您在哪里?大声笑 - 如果我误导了一些人,我道歉.
存放在哪里?在数据库中?使用加密功能而不是滚动自己的系统.
在MySQL中它就像下面这样简单:
INSERT INTO users (phone) VALUES (AES_ENCRYPT('yourkey', '867-5309'));
Run Code Online (Sandbox Code Playgroud)
当然,现在你把问题从隐藏电话号码改为"@ $ @#$ @#我可以隐藏这个键吗?".明显的解决方案:将钥匙隐藏在服务器前门外的岩石下面.这将问题变成了"@ @ @#$ @ @ @%@我可以隐藏这块石头的地方?".明显的解决方案:用一个钢制笼子盖住你的前院,门上有挂锁.新问题:如何隐藏挂锁键......等等.