?

基于Unity 3D的產品秘鑰二維碼實現

2016-09-06 08:55倪瑩瑩王曉峰丁小未
現代計算機 2016年19期
關鍵詞:代碼客戶端二維碼

倪瑩瑩,王曉峰,丁小未

(上海海事大學信息工程學院,上海 201306)

基于Unity 3D的產品秘鑰二維碼實現

倪瑩瑩,王曉峰,丁小未

(上海海事大學信息工程學院,上海 201306)

隨著計算機技術的發展以及移動互聯網的迅速崛起,二維碼作為自動識別技術廣泛應用于各個領域。針對不少軟件產品通過激活秘鑰維護版權的問題,提出利用Unity 3D作為客戶端,探索用二維碼作為激活秘鑰激活產品的新方法。實驗結果表明,與傳統激活方式相比,二維碼作為激活秘鑰更方便快捷,具有一定的實用價值。

二維碼;Unity 3D;移動互聯網;產品秘鑰

0 引言

在移動互聯網的推動中,二維碼以其輸入速度快、準確度高、成本低、可靠性強等優點作為自動識別技術已經廣泛應用于各領域中,在日常生活中也是隨處可見,如:App下載、名片交流、書籍存儲、Wi-Fi登錄等。

二維碼最早發明于日本,它產生的前提條件是一維碼滿足不了實際應用的需求,一維碼一般是對物品的標識,無法描述產品信息,而二維碼則能在橫向和縱向兩個方向同時表達信息,因此能在很小的面積表達大量信息,即便是遠離數據庫和不聯網的地方也能實現信息的攜帶。二維碼的出現滿足了現代科技發展對有限幾何空間內表達更多信息的需求。二維碼是用特定的幾何圖形按在二維方向上分布的黑白的記錄符號的信息,在代碼編制上利用構成計算機內部邏輯基礎的“0”,“1”比特流的概念,使用若干個與二進制相對應的幾何形體來標識文字數值信息,通過輸入設備自動識別以實現信息的自動處理[1-2]。

國內外對二維碼的研究分別始于20世紀80年代和21世紀,雖然與國外相比起步滯后了許多,但是目前我國二維碼也已經越來越成熟,逐漸形成了自己的產業鏈。目前一般的PC端軟件授權都是通過購買激活秘鑰實現的,然后再通過激活頁面輸入秘鑰進行激活。但移動端存在輸入不便的問題,針對這一問題,探索利用包含秘鑰的二維碼,通過手機攝像頭掃描秘鑰二維碼進行激活,實現傳統激活方式上的創新和突破。

本文主要通過二維碼生成庫ZXing隨機生成二維碼,并用Unity 3D作為客戶端引擎,研究一套完整的二維碼秘鑰激活功能的客戶端和服務器端的開發展示,從而驗證二維碼激活秘鑰方案的可行性。

1 二維碼秘鑰激活設計

1.1 二維碼秘鑰激活流程圖

產品秘鑰是產品的授權證明,是用戶使用產品的使用權限的認證,產品秘鑰是根據一定的算法產生一些隨機的字符串,當用戶輸入秘鑰時進行校驗,并判斷是否給與產品授權文件。圍繞產品秘鑰的認證流程,對二維碼秘鑰激活設計如圖1所示的流程圖。

當用戶打開產品時,首先需要判斷是否有授權文件,如果有則意味著擁有產品使用權,允許進入應用;如果沒有,需要彈出激活頁面,當用戶購買了秘鑰二維碼,掃描后服務器校驗通過,才能給與授權文件擁有產品的使用權。

1.2 二維碼秘鑰激活的整體架構圖

針對以上流程圖,對二維碼秘鑰激活設計具體的功能實現:其中客戶端主要功能有二維碼掃描、二維碼激活碼檢驗和授權文件本地存儲,服務器端包括二維碼生成服務器、數據庫服務器、激活碼檢驗[5-6]服務器。整體功能框架如圖2所示。

圖1 二維碼秘鑰激活流程圖

圖2 二維碼秘鑰整體架構圖

2 二維碼秘鑰激活的具體實現

2.1 系統實現的整體效果圖根據上述思路,設計了模擬二維碼秘鑰激活整體的實現效果圖如圖3所示,當點擊數據庫生成二維碼秘鑰按鈕時:數據庫會以GUID的方式生成一個隨機的字符串,當點擊創建一個秘鑰二維碼,會生成一個包含剛剛字符串信息的二維碼,點擊顯示可用數據的時候會出現一系列可用的秘鑰。二維碼秘鑰的生成、識別以及激活的具體實現,將在接下來三小節進行詳細的代碼解析和運行結果展示。

2.2 二維碼生成

(1)二維碼生成代碼實現

ZXing是一個開源的實現多種格式的1D/2D條碼的圖像處理庫,提供了二維碼的生成和解析方法,使用ZXing生成的二維碼可以在二維碼中設置顏色和添加Logo圖片,可以滿足人們對二維碼更加復雜的需求[3]。

圖3 二維碼秘鑰激活實現效果圖

下面是用C#語言編寫的通過ZXing庫實現的用于生成二維碼的程序,該段程序可以通過修改部分代碼實現生成彩色二維碼的功能。

(2)二維碼生成界面圖

點擊創建二維碼,服務器會從數據庫中選擇一條秘鑰字符串然后通過ZXing庫來生成一個二維碼圖片顯示到頁面上。具體運行效果如圖4所示:

圖4 二維碼生成界面圖

2.3 二維碼掃描識別

(1)二維碼掃描識別代碼實現

在Unity 3D客戶端中打開攝像頭掃描識別的二維碼[4],將二維碼圖片流發送給ZXing條碼庫識別,如果識別成功會返回識別出來的二維碼內容,反之則返回錯誤信息。該段代碼的詳細實現如下:

(2)二維碼掃描實驗結果圖

運行上述程序,生成如圖5所示的界面,將二維碼放入銀白色框內,即可實現二維碼的掃描完成激活認證。

2.4 二維碼激活認證

將客戶端識別出來的二維碼內容通過HTTP請求發送給服務器校驗,服務器接收到客戶端發送過來的二維碼秘鑰后需要到數據庫中驗證,如果數據庫中存在該秘鑰,并且該秘鑰尚未失效則服務器認為秘鑰合法返回成功激活的標記,如果激活失敗返回失敗標記,客戶端接收到服務器返回信息之后做出相應的邏輯處理,如果激活成功則在本地生成授權文件,反之彈框提示激活失敗。具體服務器與客戶端的代碼實現如下:

圖5 二維碼掃描界面圖

運行二維碼激活結果如圖6所示。

圖6 二維碼秘鑰激活圖

3 結語

本實驗通過Unity3D平臺完成了對秘鑰的二維碼實現。由實驗結果可知,該模塊實現了二維碼生成、掃描以及激活的全部功能,基本實現了秘鑰激活的功能,采用掃描二維碼激活與傳統的輸入框輸入秘鑰更加地快捷方便,避免了移動平臺輸入不便的問題,為產品秘鑰商業化二維碼的應用提供了技術支持。此外,本文所設計的功能可用于解決我們開發的應用商業授權的問題,具有一定的商業化意義。

[1]王道平,張大川.現代物流信息技術[D].北京:北京大學出版社,2010,43-48.

[2]周曉偉.二維條碼識別技術研究[D].上海:上海交通大學,2007,87-99.

[3]程裕強,劉愛民,周國軍.二維碼生成算法研究[J].玉林師范學院學報,2014,35(5),118-122.

[4]林邦杰.二維碼識別系統在手機端的研究與實現[J].化學工程與裝備,2014,2(2),164-166.

[5]張典華,陳一民.基于Unity 3D的多平臺虛擬校園設計與實現[J].計算機技術與發展,2014,24(2),164-166.

[6]Tkachenko,luliia,Puech,William.Two-Level QR Code for Private Message Sharing and Document Authentication[J].IEEE Transactions on Information Forensics and Security,2016,10(11):571-583.

Two-Dimensional Code;Unity 3D;Mobile Internet;Product Secret Key

Implement of Product Secret Key Two-Dimensional Code Based on Unity 3D

NI Ying-ying,WANG Xiao-feng,DING Xiao-wei
(College of Information Engineering,Shanghai Maritime University,Shanghai 201306)

With the development of computer technology and the rapid rise of the mobile Internet,two-dimensional code,as an automatic identification technology,is widely applied in various fields.For many software products with their own activate the secret key to maintain the copyright,puts forward to use Unity 3D to perform the client implementation,explores a new method two-dimensional code to realize the activation of the secret key.The experimental results show that,compared with the traditional activation methods,two-dimensional code is more convenient and quick,to some extent,it is of certain practical value.

1007-1423(2016)19-0035-05

10.3969/j.issn.1007-1423.2016.19.010

倪瑩瑩(1991-),女,江蘇鹽城人,碩士,研究方向為航運異構數據共享、圖像識別

王曉峰(1958-),男,遼寧燈塔人,教授,博導,博士,研究方向為人工智能、數據挖掘與知識發現、航運信息化

丁小未(1991-),男,江蘇南通人,本科,從事領域為Unity3D游戲開發

2016-04-27

2016-06-29

猜你喜歡
代碼客戶端二維碼
你的手機安裝了多少個客戶端
你的手機安裝了多少個客戶端
“人民網+客戶端”推出數據新聞
——穩就業、惠民生,“數”讀十年成績單
二維碼
小康二維碼
創世代碼
創世代碼
創世代碼
創世代碼
二維碼讓政務公開更直接
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合