- 《架構世界》2020移動開發刊:建設移動統一消息管理中心
- 普元信息
- 1089字
- 2020-09-03 11:21:12
三、如何實現二維碼管理系統
二維碼的生成
推薦在二維碼標準選擇的時候使用應用最為廣泛的
碼,后續代碼示例中也會以此為基準。目前開源的二維碼生成工具包有很多,比如
、 、 、 等。這里選用一個比較常用的由 開發維護的 ,具體的代碼可以參考 代碼測試包中的 類來輔助開發,可以將該類直接拷貝到源碼中使用。= . ();
= . ();
= ( , , . _ _ );
( = ; < ; ++) {
( = ; < ; ++) {
. ( , ,( . ( , ) ? : ));
}
}
;
}
( , , ) {
= ( );
= ();
= . ( );
(! . ( , , )) {
(" " + + " " + );
}
}
對于部分業務系統在生成二維碼的時候可能存在需要在二維碼圖片中心添加
圖片的業務需求,這里貼出在二維碼中添加 的示例:
( , ) {
= . ();
= . ();
= . ();
= . ( ( ));
. ( , / * , / * , / , / , );
= ( , . _ , . _ );
. ( );
. = . ( / * , / * ,
/ , / , , );
. ( . );
. ( );
= ( , . _ , . _ );
. ( );
. = . ( / * + ,
/ * + , / - , / - , , );
. ( ( , , ));
. ( );
. ();
. () ;
;
}
二維碼內容的加解密
二維碼內容加密主要分為兩部分,其一是生成用于完整性校驗字段的哈希算法,其二是為了明文加密的對稱加密。
常用于完整性檢驗的哈希算法有很多種,如
( 公司)的消息摘要算法 系列,這其中 因為兼具快速和安全兩大特點被廣泛采。同樣的哈希算法還有美國國家標準技術研究院( )制定的安全哈希算法 ( )系列算法,國家密碼管理局發布的雜湊算法標準 等。這里使用 作為代碼范例:( ) {
= ;
[] = . ();
{
= . (" ");
}
( ) {. ();
}
. ( , , . );
= ( , . ());
. ( );
}
在二維碼密文解析的時候可使用相同方法取原文的
值進行檢驗。二維碼明文加密采用對稱加密算法,對稱密鑰由二維碼管理系統保管,常見的對稱算法有
算法、 算法、 算法、 算法等,這里以 算法為例。加密:
( , ) {
{
= . ( _ _ );// 創建密碼器
[] = . (" - ");
. ( . _ , ( ));// 初始化為加密模式的密碼器
[] = . ( );// 加密
. ( );//通過 轉碼返回
}
( ) {. ( . . ()). ( . , , );
}
;
}
解密:
( , ) {
{
//實例化
= . ( _ _ );
//使用密鑰初始化,設置為解密模式
. ( . _ , ( ));
//執行操作
[] = . ( . ( ));
( , " - ");
}
( ) {. ( . . ()). ( . , , );
}
;
}
生成密鑰:
( ) {
//返回生成指定算法密鑰生成器的
對象= ;
{
= . ( _ );
//
要求密鑰長度為. ( , ( . ()));
//生成一個密鑰
= . ();
( . (), _ );// 轉換為 專用密鑰
}
( ) {. ( . . ()). ( . , , );
}
;
}
這里簡要說明了加解密的相關示例,網上也有相關的開源示例,對加解密有興趣的話可以自行深入研究。
推薦閱讀
淺析 端的消息推送原理

關于作者:風行云,現任普元信息移動團隊開發工程師,畢業于山東大學(威海),主攻移動原生開發、 開發、 開發。先后參與中國郵政集團移動平臺、國家開發銀行移動應用平臺等項目的開發工作。