我试图想出一种加密用户ID号的方法。我的想法是加密id(1到5个字符之间)和一些字母(如_wordtouse)。只有两个要求是
所有这一切的原因是我试图在有人输入用户个人资料时“隐藏”用户ID号码。所以我试图通过url作为get参数找到一种方法来提供用户id的加密版本。
有没有人知道如何解决这个问题?
答案 0 :(得分:4)
我建议只使用非常受欢迎的hashids library以及许多网址缩短服务使用的内容。虽然它不是真正的加密",但在网址中隐藏用户的ID号可能已经足够了。例如:
$userID = 1234;
$hashids = new Hashids\Hashids('some random secret string');
//encode the user id
$encodedID = $hashids->encode($user_id);
//on the other page, decode the user id
$decodedID = $hashids->decode($encodedID);
答案 1 :(得分:1)
https://stackoverflow.com/a/30189841/1325575深入解释了这一点。
但是,短版本不需要第三方安装:
我相信,通过这3个链接,您将会找到您所追求的内容。
答案 2 :(得分:0)
我已经在这里回答了这个问题:Encrypt/Encoding an ID in URL string
但我想补充一点,而不是使用mcrypt(the project is abandoned)你应该使用:Libsodium,或defuse / php-encryption或OpenSSL