PHP加密和解密字符串友好



我正在尝试找出一种加密用户ID号的方法。我的想法是结合一些字母(例如_wordtouse(加密ID(1至5个字符之间(。只有两个要求是

  1. 隐秘的版本只能包含最多15个字符
  2. 我需要能够在其他页面上解密字符串

所有这一切的原因是,当有人输入用户配置文件时,我正在尝试"隐藏"用户ID。因此,我试图找到一种通过URL作为GET参数传递用户ID的加密版本的方法。

有人知道如何解决这个问题吗?

我建议只使用非常受欢迎的Hashids库以及许多URL缩短服务的使用。尽管它并不是真正的"加密",但可能足以将用户的ID号隐藏在URL中。示例:

$userID = 1234;
$hashids = new HashidsHashids('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);

https://stackoverflow.com/a/30189841/1325575解释了这一点。

但是,不需要第三方安装的简短版本:

  1. 使用openssl_encrypt进行加密
  2. 使用openssl_decrypt进行解密

我有信心,有了这3个链接,您将找到您所追求的。

我相信这个问题已经回答:加密/编码URL字符串中的ID

最新更新