基于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

猜你喜欢
代码客户端二维码
你的手机安装了多少个客户端
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
二维码
小康二维码
创世代码
创世代码
创世代码
创世代码
二维码让政务公开更直接