官术网_书友最值得收藏!

二、二維碼管理系統(tǒng)的提出與設計

提出

在企業(yè)的發(fā)展中,任何技術和系統(tǒng)都是解決企業(yè)實際問題而產(chǎn)生的。對企業(yè)來講,盡管二維碼有如此寬泛的應用場景,但二維碼應該如何去統(tǒng)一管理呢?如果是由各個業(yè)務系統(tǒng)去單獨完成二維碼的處理工作,既會產(chǎn)生大量重復開發(fā)工作,又無法有效的統(tǒng)一管理。為此,提出二維碼管理系統(tǒng)。按照預定好的內(nèi)容規(guī)范和生成調用規(guī)范,為企業(yè)各個業(yè)務系統(tǒng)提供標準的二維碼管理服務,使各業(yè)務系統(tǒng)可以更加專注于二維碼的實際應用落地。

設計

在二維碼系統(tǒng)的設計層面,我們既要考慮到使用者調用系統(tǒng)的難度,又要保證系統(tǒng)的安全性和規(guī)范性。

?即插即用

?二維碼內(nèi)容加密

?內(nèi)容完裝性保證

?生命期機制

?二維碼能力SDK易用性

?統(tǒng)一二維碼標準規(guī)范

二維碼管理系統(tǒng)是將二維碼的生成、驗證、加解密、解析等通用能力進行抽象,采用面向對象的設計方法,達到系統(tǒng)的內(nèi)部高內(nèi)聚,對外低耦合的目的。以組件化的方式進行封裝,充分考慮到使用方的二維碼相關能力調用場景,為企業(yè)的各個業(yè)務系統(tǒng)提供簡單易用的二維碼能力。

需要考慮的問題

?二維碼內(nèi)容泄露或二維碼偽造引起的安全性問題

?傳輸過程中數(shù)據(jù)篡改引起的完整性問題;

?有效期引起的生命期問題。

同時在二維碼管理系統(tǒng)的設計,我們需要特別考慮安全性、完整性和生命期的問題,這也是企業(yè)二維碼系統(tǒng)最基礎的要求。為了解決這些問題二維碼管理系統(tǒng)會在二維碼生成時對二維碼內(nèi)容進行如下處理,首先根據(jù)調用業(yè)務系統(tǒng)傳遞的有效期字段生成對應的有效期校驗字段按預定規(guī)則拼裝在二維碼內(nèi)容明文后,然后采用哈希算法(如SM3算法、MD5算法、SHA1算法)對添加過有效期驗證字段的二維碼明文進行計算來生成對應的完整性校驗字段,最后將明文與校驗字段組合后按二維碼管理系統(tǒng)預設密鑰進行對稱加密(如DES算噠、AES算法、SM4算法),最終得到用來生成二維碼的內(nèi)容并生成二維碼圖片返回給業(yè)務系統(tǒng)。

在二維碼內(nèi)容解析的時候由業(yè)務系統(tǒng)通過掃描設備識別出二維碼內(nèi)容密文,然后將密文傳遞回二維碼管理系統(tǒng)。二維碼管理系統(tǒng)在接收到掃描出的二維碼密文時先通過之前加密時使用的對稱算法的逆算法得到帶有校驗字段的明文,然后通過之前用來生成校驗字段的非對稱算法(如SM3算法、MD5算法、SHA1算法)檢驗明文與檢驗字段是否符合,保證了二維碼完整性的校驗,最后在通過在明文中預先拼接的有效期字段進行有效期判斷,若過期失效則返回失效信息,反之去除有效期字段返回原始二維碼內(nèi)容。

通過上述對二維碼內(nèi)容處理的流程有效地避免了二維碼在使用中的大部分問題。

系統(tǒng)場景設計

在設計中我們需要考慮兩種場景,主動掃描和被動掃描。

主動掃描

對于主動掃描的場景,用戶通過二維碼掃描設備掃描二維碼獲得二維碼密文信息,發(fā)送至企業(yè)的業(yè)務系統(tǒng),由業(yè)務系統(tǒng)調用二維碼管理系統(tǒng)對密文進行解析、處理,并在獲取到解析結果后進行對應的業(yè)務操作并反饋給用戶最終處理結果。

被動掃描

對于被動掃描的場景,在用戶需要被掃碼的時候由用戶的二維碼展示設備發(fā)送請求至業(yè)務系統(tǒng),業(yè)務系統(tǒng)收到請求后調用二維碼管理系統(tǒng)對應的二維碼生成服務,生成二維碼,并將二維碼返回給顯示設備,由顯示設備顯示給掃描方完成被動掃描動作。最后再由掃描方業(yè)務系統(tǒng)執(zhí)行主動掃描場景中的業(yè)務處理流程。

主要參考文檔

主要參考的文檔:

?《QRCODE

?《系統(tǒng)安全規(guī)范》

?《二維碼網(wǎng)格矩陣碼(SJ/T 11349-2006)》

?《二維碼緊密矩陣碼(SJ/T 11350-2006)》

?《GB/T 18284-2000

主站蜘蛛池模板: 个旧市| 晋宁县| 鲜城| 合水县| 长治县| 巴马| 马关县| 松桃| 革吉县| 雷波县| 甘洛县| 常宁市| 马鞍山市| 盐城市| 平谷区| 阿瓦提县| 兴文县| 江山市| 赤城县| 旬阳县| 上饶县| 沂南县| 玉田县| 崇阳县| 会宁县| 广州市| 呼玛县| 凤山县| 青浦区| 安福县| 岐山县| 阳城县| 平远县| 峨边| 锦州市| 济源市| 九龙坡区| 三河市| 天镇县| 江孜县| 通化市|