0

情况:

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

这些二维码是用于在线身份验证的非公开检查卡。

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

问题:

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

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

问题:

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

暗示:

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

4

2 回答 2

1

您可以使用md5(), 并在登录时检查是否:

m5d($password . $salt) == $_GET['password'];
于 2013-10-26T10:04:04.000 回答
0

如果你不想加密它,你有两个选择。

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 交换等)。

它并不完美,但它会为任何想要对代码中的内容进行逆向工程的人提供一小部分防御。

于 2013-11-01T09:57:39.453 回答