如何将数字加密到另一个数字?

时间:2014-01-21 07:53:55

标签: php encryption

从0开始有很多号码 我们不想向任何人展示这个有序的ID 我们必须在某处给出唯一的号码 如何将数字编码为另一个数字。

并且每个编码的数字nust仅代表一个数字。就像加密而不是散列一样。 我们还需要唯一性意味着如果56给842那么别的就不应该给842。

这里有类似的C#排队 Encrypt a number to another number of the same length 但我们怎么能在php中做到这一点

感谢。

2 个答案:

答案 0 :(得分:1)

我不知道为什么人们通过发明自己的加密系统来使事情复杂化,这可能是不好的或不必要的。

PHP为您提供mcrypt:http://de3.php.net/mcrypt 以加密方式加密和解密内容的好方法。

注意:Base64不是一个好的解决方案,因为这不是加密

编辑:不建议再次依赖某些用户创建的加密。它没有经过充分测试,并且部分依赖于默默无闻的安全性。 虽然mcrypt需要对mcrypt api进行一些调用,但它允许您使用加密强大的系统,如MCRYPT_RIJNDAEL_256MCRYPT_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
?>