如何将 URL 变量保护到一个不可读的可行文件中


how to secure Url Variables into one unreadable viarable

情况:

我需要创建QR码,其中包含登录名,密码和2个其他信息A和B。

这些二维码是用于在线认证的非公开支票卡。

我的老板不想留下密码。 显示QR码,您已登录

问题:

我不希望易于复制和半易于阅读的二维码包含纯文本,例如www.example.com/login/?name=abc&password=def&A=ghi&B=jkl

我更喜欢解决方案www.example.com/login2/?var=dsldpjfeepfjwefpejwfp

问题:

有没有一种好方法将不同的变量压缩成一个不可读的变量,然后在服务器端解压缩它?我尝试了一些加密,但它们会产生对 url 不友好的二进制数据(在大多数情况下它真的很长)。

提示:

我不需要完全加密和安全。我只是不想显示普通密码。我正在使用PHP,无法安装新的php模块,但脚本还可以。

您可以使用

md5() ,并在登录时检查是否:

m5d($password . $salt) == $_GET['password'];

如果您不想加密它,则有两种选择。

Base64 - 将创建类似dXNlcm5hbWV8cGFzc3dvcmR8dmFsdWV8c29tZXRoaW5n的东西

UUencode - 将创建类似A=7-E<FYA;65'<&%S<W=O<F1'=F%L=65'<V]M971H:6YG的东西

如果她有决心,两者都很容易为最终用户重建。

如果你想让像 Base64 这样的东西稍微具有挑战性"解密",你可以先对它运行一个基本的替换密码(a=b、b=c 等),或者对字符串应用一个已知的洗牌(将字符 1 交换为 2,交换字符 3 与 5,等等)。

它并不完美,但它将为任何想要对代码中的内容进行逆向工程的人提供少量防御。