我正在打印带有vcard信息的qrcode(使用qrlib.php),我正在swift(iOS)中创建一个简单的条形码扫描应用程序。
我的原型似乎有效,但现在我绊倒了以下问题;我只希望授权合作伙伴能够扫描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';
总结一下,可以称之为私人qrcode / vcard?
答案 0 :(得分:1)
QR码只是将数据(如字符串)表示为2D图像的一种方式。而且由于它是一个开放的标准,你无法真正阻止任何人解码它。
您可以在PHP端以某种方式加密Vcard,并将解密代码添加到您的扫描仪应用程序。我不知道Swift方面可以轻松获得哪些加密功能,因此我无法就此提出任何建议。想到了Blowfish或PGP。
但我不认为这是高度安全的。即使您正确地执行所有加密操作,它也与扫描仪应用程序一样安全,因为解密所需的所有信息都必须在其内部。所以,如果它在应用程序商店......
这应该足以阻止普通的智能手机用户只需将QR码扫描仪指向它并获得Vcard。