2015-11-05 25 views
0

我打印出一个带有vcard信息的qrcode(使用qrlib.php),我正在swift(iOS)中创建一个简单的条形码扫描应用程序。防止其他扫描仪应用程序扫描打印的QR码中的信息?

我的原型似乎有效,但现在我绊倒了以下问题;我只想授权合作伙伴能够扫描qrcodes。我不确定是否需要在php/qrcode端添加一些额外的变量/键或改变我的扫描swift代码。 这是回应qrcode的主要PHP部分,是否可以添加自定义变量,以便qrcode对其他条形码扫描仪不可读?

2 /或也许有某种简单的加密

$tmp_vcard = 'BEGIN:VCARD VERSION:3.0 N:' . $visitorData[0]->userLname . ';' . $visitorData[0]->userFname . ' FN:' . $visitorData[0]->userPosition . ' ORG:' . $visitorData[0]->userCompany . ' TITLE: ' . $visitorData[0]->userPosition . ' TEL;WORK;VOICE:' . $visitorData[0]->userPhone . ' ADR;TYPE=WORK:;;' . $visitorData[0]->userAddress . ';' . $visitorData[0]->userPostal . ';' . $visitorData[0]->userCity . ' EMAIL:' . $visitorData[0]->userEmail . ' URL: END:VCARD';

总之也许称它为私有QR码/名片?

回答

1

QR码只是一种将数据(如字符串)表示为2D图像的方式。而且由于这是一个开放标准,你不能真正阻止任何人对其进行解码。

您可以在PHP端以某种方式加密Vcard并将解密代码添加到扫描仪应用程序。我不知道哪些加密函数很容易在Swift上使用,所以我不能就此提出任何建议。河豚或PGP浮现在脑海中。

但我不认为这是高度安全的。即使你所有的加密工具都是正确的,它和扫描器应用一样安全,因为解密所需的所有信息都必须在其中。因此,如果它在应用程序商店...

它应该足以阻止您的普通智能手机用户只需将其QR码扫描仪指向它并获得Vcard。

+0

这就是我要探索的方式。我知道这不是非常安全,但对于这个项目来说就够了。不确定哪个加密过程是最简单的php/swift。也就是说,我也很满意像a = 1,b = 2等或简单的编号密码函数 – alex

+0

。纵观php,我可以使用openssl_encrypt,但swift的副本是什么? – alex