一种智能终端app应用程序与服务器数据通信加解密方法

文档序号:10572466阅读:424来源:国知局
一种智能终端app应用程序与服务器数据通信加解密方法
【专利摘要】本发明公开了一种智能终端APP应用程序与服务器数据通信加解密方法,智能终端采用一种基于数据本身特征的加密解密算法,对获得的原始数据进行加密,将加密后的数据传输到服务器端;智能终端将从服务器端接收来的数据进行解密处理并对数据进行显示。本发明具有加密复杂度高,相应解密算法效率高,适用于计算性能有限的智能终端。
【专利说明】
一种智能终端APP应用程序与服务器数据通信加解密方法
技术领域
[0001]本发明属于通信与计算机控制技术领域,特别涉及一种智能终端APP应用程序与服务器数据通信加解密方法,可适用于应用程序与服务器数据通信加解密。
【背景技术】
[0002]数据加密技术在电子商务中的应用。电子商务正在改变着人们的生活以及社会的发展进程,网络贸易将引起人们对管理模式、工作和生活方式,乃至经营管理思维方式等等的综合革新。同时,安全的网络安全环境对电子商务的健康和持续发展是至关重要的。电子商务的安全性主要是网络平台的安全和交易数据的安全。交易数据的安全是指保护交易双方的信息不被破坏、不泄密,和交易双方身份的确认。因此在电子商务中应用数据加密、数字签名、数字证书、ssl、set安全协议等技术来确保电子商务的交易数据的安全,电子商务和数据加密技术的结合必将会极大促进电子商务的稳定发展。
[0003]数字签名:
[0004]数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
[0005]SSL:
[0006]SSL(Secure Sockets Layer安全套接层),及其继任者传输层安全(TransportLayer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
[0007]SET安全协议:
[0008]在开放的互联网上处理电子商务,如何保证买卖双方传输数据的安全成为电子商务能否普及的最重要的问题。为了克服SSL安全协议的缺点,两大信用卡组织,Visa和MasterCard,联合开发了 SET协议。这是一个为了在互联网上进行在线交易的而设立的一个开放的以电子货币为基础的电子付款系统规范。

【发明内容】

[0009]本发明目的是通过一种基于数据本身特征的加密解密算法,保证加密算法复杂度与数据的安全性同时,节省系统投资。
[0010]本发明的技术方案是,智能终端采用一种基于数据本身特征的加密解密算法,对获得的原始数据进行加密,将加密后的数据传输到服务器端;智能终端将从服务器端接收来的数据进行解密处理并对数据进行显示;具体包括以下步骤:
[0011]步骤1、获取数据项集D=M1,d2,d3,...,ds},其中,S为数据集中数据项总个数;
[0012]步骤2、若执行加密操作,则执行步骤4到步骤10;
[0013]步骤3、若执行解密操作,则执行步骤11到步骤16;
[0014]步骤4、引入步骤I中的数据项集D= {di,d2,d3,…,ds},设q为循环变量,q = 0,q<=s,若数据项dq需加密处理,则执行步骤5到步骤9;
[0015]步骤5、设数据项dq= {ci,C2,C3,…,CN-1,cn},其中,N为数据项dq中字符总数;
[0016]步骤6、设P为循环变量,p= N,p> = I,若Cp e bnum = {r V 2' ,3, / 4/ / 5/ /6/ ,'1' /8' /9, },设变量num,i,将第一个满足条件的字符cP对应的十进制数值赋值给变量num,否则将十进制数字N除以客户端与服务器端约定的数值i得到的商赋值给变量num;
[0017]步骤7、设buq={bi,b2,b3,...,bm}为数据项dq对应的二进制值,其中,m为二进制值的总位数;
[00?8] 步骤8、对buq = {bI,b2,b3,…,bm}进行二进制循环右移num位,得到移位后的二进制
/[直bllq — {bm-num-1,...,bm-2,bm-1,bm,bl,b2,b3,...bm-num-2 };
[0019]步骤9、将b<采用服务器端指定的编码格式重新编码,将变量num对应的字符插入在字符串最后,得到加密后的数据并重新赋值给bq;
[°02°] 步骤10、得到加密后的数据集Sd= {di,d2,d3^",ds};
[0021 ] 步骤11、引入步骤I中的数据项集D= {di,d2,d3,…,ds},设m为循环变量,m = 0,m<=s,若数据项dm需解密处理,则执行步骤12到步骤15;
[0022]步骤12、设整型变量bnum,设数据项dm= {C1,C2,C3,…,CT-1,ct},其中,!"为数据项dm中字符总个数,将dm= {C1,C2,C3,…,ct-ι,ct}的第一个字符C1对应的十进制数值赋值给bnum;
[0023]步骤13、设d/ = {bc2,bc3,…,bcx-1,bcT}为(^去掉首字符得到的字符串,设d/为dm7 对应的二进制值dm〃 = {bici,bic2,…,bicg};
[0024]步骤14、对dm〃 = {bici,bic2,…,bicg}进行二进制循环左移bnum位,得到移位后的
—-3? 审丨J 串 ^jbllq — {bl Cbnum+1,b I Cbnum+2,...,bicg,bici,bic2,...,bl Cbnum };
[0025]步骤15、将buq〃利用客户端指定的编码格式重新编码,得到解密后的数据项重新赋值给bq ;
[0026]步骤16、得到解密后的数据集Sed= {di,d2,d3,…,ds}。
[0027]其中,步骤6中i为2。
[0028]步骤9中所述的服务器端指定的编码格式与步骤15中所述的客户端指定的编码格式必须是同一个字符编码格式。
[0029]本发明创造性的提出了一种基于数据本身特征的加密解密算法,根据待加密字符串特定位字符信息将字符串进行二进制的循环左移相应的位数得到加密后数值,具有加密复杂度高,相应解密算法效率高,解决了智能终端计算能力有限又需要高复杂度加解密的问题,具有很高的实用价值。
【附图说明】
[0030]附图1为本发明加密与解密算法的流程图。
【具体实施方式】
[0031 ]下面结合附图对本发明的技术方案进行详细说明:
[0032]如附图1所示,本发明实施方案按照以下步骤进行:
[0033]步骤1、获取数据项集D= {cU,d2,d3,d4},分别为职工工号,职工姓名,职工年龄,入职年份;
[0034]步骤2、若执行加密操作,则执行步骤4到步骤9;
[0035]步骤3、若执行解密操作,则执行步骤10到步骤16;
[0036]步骤4、引入步骤I中的数据项集D={山油汕油},设需要加密的数据项为职工姓名di= {7 C7 / C7 };
[0037]步骤5、N为2,i 取2,num为 I;
[0038]步骤6、得到二进制bui= {0100100101001001 },m为 16;
[0039]步骤7、对bui= {0100100101001001}进行二进制循环右移num位,得到移位后的二进制串为bu/ ={1010010010100100};
[0040]步骤转化成相应的16进制数A4A4并将num对应的字符'I7插入在字符串最后,得到加密后的数据项重新赋值给bi= {1A4A4};
[0041]步骤9、将bu/采用服务器端指定的编码格式,如UTF-8或GBK等,重新编码,得到加密后的数据集3(1={(11,(12,(13,(14};
[0042]步骤10、引入步骤I中的数据项集D={dhc^cb,^},设需要解密的数据项为职工
[0043]步骤11、设整型变量bnum,将cU= {1A4A4}的第一个字符'I7对应的十进制数值赋值给bnum ;
[0044]步骤12、山去除第一个字符'I7后得到d/ = {A4A4};
[0045]步骤13、di〃为d/对应的二进制字符串di〃 = { 1010010010100100};
[0046]步骤14、对d/ = {1010010010100100}进行二进制循环左移2位,得到移位后的二进制串为bui" = {0100100101001001};
[0047]步骤15、将bm〃利用客户端指定的编码格式重新编码,如UTF-8或GBK等,得到解密后的数据项重新赋值给bm〃 ;
[0048]步骤16、得到解密后的数据集Sed= {di,d2,d3^",ds};
[0049]步骤9中所述的服务器端指定的编码格式与步骤15中所述的客户端指定的编码格式必须是同一个字符编码格式。
[0050]为了更好地说明本方法的有效性,随机选取10组数据进行测试,数据平均加密时间73692ns,平均解密时间23194ns,节约了智能终端计算资源;本方法应用于校园—^通考勤系统中,连续测试一周共30261组数据,数据准确率为100%。
[0051]本发明可与计算机系统和移动智能终端结合,从而更高效率完成数据的加密与解
LU O
[0052]发明创造性的提出了一种基于数据自身特征的加密与解密算法,具有加密复杂度高,适用于计算性能有限的智能终端。
[0053]本发明提出的一种智能终端APP应用程序与服务器数据通信加解密方法不仅适合于智能终端,也可以适用于电子商务等应用系统中需要数据加密的环节中。
【主权项】
1.一种智能终端APP应用程序与服务器数据通信加解密方法,其特征在于,智能终端采用一种基于数据本身特征的加密解密算法,对获得的原始数据进行加密,将加密后的数据传输到服务器端;智能终端将从服务器端接收来的数据进行解密处理并对数据进行显示;具体包括以下步骤: 步骤1、获取数据项集D= {di,d2,d3,...,ds},其中,S为数据集中数据项总个数; 步骤2、若执行加密操作,则执行步骤4到步骤10; 步骤3、若执行解密操作,则执行步骤11到步骤16; 步骤4、引入步骤I中的数据项集D= {di,d2,d3,...,ds},设q为循环变量,q = 0,q< = S,若数据项dq需加密处理,则执行步骤5到步骤9; 步骤5、设数据项(1(1={(31,02,03,...,(^,(^,其中^为数据项士中字符总数; 步骤6、设P为循环变量,p = N,p> = 1,若cPebnum= {7 V / 2',, 3, /47 / 5/ / 6/ / 7/ /8/ /9' },设变量num,i,将第一个满足条件的字符^对应的十进制数值赋值给变量num,否则将十进制数字N除以客户端与服务器端约定的数值i得到的商赋值给变量num; 步骤7、设buq= {bi,b2,b3,…,bm}为数据项dq对应的二进制值,其中,111为二进制值的总位数; 步骤8、对buq = {bi,b2,b3,…,bm}进行二进制循环右移num位,得到移位后的二进制值bllq — { bm-num-1,-..,bm-2,bm-1,bm,bl,b2,b3,...bm-num-2 }; 步骤9、将bu/采用服务器端指定的编码格式重新编码,将变量num对应的字符插入在字符串最后,得到加密后的数据并重新赋值给bq; 步骤10、得到加密后的数据集Sd= {di,d2,d3,...,ds}; 步骤11、引入步骤I中的数据项集D={di,d2,d3,...,ds},设m为循环变量,m = 0,m< = s,若数据项dm需解密处理,则执行步骤12到步骤15; 步骤12、设整型变量131111111,设数据项‘={(31,02,03^_,01,(^},其中,T为数据项dm中字符总个数,将dm= {ci,C2,C3,…,CT-1,ct}的第一个字符ci对应的十进制数值赋值给bnum; 步骤13、设d/ ={bc2,bc3,...,bcT—hbcT}为dm去掉首字符得到的字符串,设dm〃为d/对应的二进制值dm〃 = {bici,bic2,...,bicg}; 步骤14、对dm〃 = {bici,bic2,...,bicg}进行二进制循环左移bnum位,得到移位后的二进?丨J 串 ^jbllq — {blCbnum+1,bICbnum+2,...,bicg,bici,bic2,...,blCbnum}; 步骤15、将bu/利用客户端指定的编码格式重新编码,得到解密后的数据项重新赋值给bq; 步骤16、得到解密后的数据集Sed= {di,d2,d3,…,ds}。2.根据权利要求1所述的一种智能终端APP应用程序与服务器数据通信加解密方法,其特征在于,步骤6中i为2。3.根据权利要求1所述的一种智能终端APP应用程序与服务器数据通信加解密方法,其特征在于,步骤9中所述的服务器端指定的编码格式与步骤15中所述的客户端指定的编码格式必须是同一个字符编码格式。
【文档编号】H04L9/06GK105933105SQ201610197137
【公开日】2016年9月7日
【申请日】2016年3月26日
【发明人】朱竑见
【申请人】重庆大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1