从0开始有很多号码 我们不想向任何人展示这个有序的ID 我们必须在某处给出唯一的号码 如何将数字编码为另一个数字。
并且每个编码的数字nust仅代表一个数字。就像加密而不是散列一样。 我们还需要唯一性意味着如果56给842那么别的就不应该给842。
这里有类似的C#排队 Encrypt a number to another number of the same length 但我们怎么能在php中做到这一点
感谢。
答案 0 :(得分:1)
我不知道为什么人们通过发明自己的加密系统来使事情复杂化,这可能是不好的或不必要的。
PHP为您提供mcrypt:http://de3.php.net/mcrypt 以加密方式加密和解密内容的好方法。
注意:Base64不是一个好的解决方案,因为这不是加密
编辑:不建议再次依赖某些用户创建的加密。它没有经过充分测试,并且部分依赖于默默无闻的安全性。
虽然mcrypt需要对mcrypt api进行一些调用,但它允许您使用加密强大的系统,如MCRYPT_RIJNDAEL_256
,MCRYPT_TWOFISH256
等。
我对您的安全要求一无所知,但从不再次发明轮子。如果你在这些事情上犯了错误,你就不会注意到,恶意用户不会告诉你,只是利用你的系统。
请参阅https://security.stackexchange.com/questions/18197/why-shouldnt-we-roll-our-own
答案 1 :(得分:-2)
您可以使用base64_encode&在PHP的情况下base64_decode。
例如:
<?php
$order_id = "123";
$enc=base64_encode($order_id);//MTIz
echo base64_decode($enc);//123
?>