2015-11-05 78 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