我有一个生成 QR Code 的 php 脚本。此代码将从 JavaScript 中的 PhoneGap 应用程序读取。到目前为止,这工作正常,但我想保护 QR 码,以便其他人无法生成其他有效代码。

我的第一个想法是在二维码中添加数据的哈希值。但常见的哈希函数不是很安全。对于好的哈希函数,我没有找到 JavaScript 的实现。第二个想法是使用公钥/私钥加密,但这里又是 JavaScript 的问题。

另一个大问题是二维码应该很简单。长时间的加密会使小二维码不可读。

保护二维码的好方法是什么?

最佳答案

使用共享 key 向您的 ID 添加哈希,如下所示:

$qrcontent = $id . md5($id . $secret);

所以要创建一个新的 $qrcontent 需要知道 $secret 。有一些简单的哈希,比如 crc32,所以你不需要一个完全实现的 javascript md5 函数,例如。您可以定义您的哈希应该有多长/安全。

10-08 01:27