版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
7.5通信加密的简单实现本章主要讲述通信加密的简单实现。通过学习本节将能够了解通信加密的简单实现。通过本节学习可以熟悉:数据加密的方法通信加密的简单实现通信加密的简单实现(1/6)
在目前项目程序中,并通过TCP通信已实现传感器数据的更新与监控,但传输的数据是非加密的明文,通过Wireshark网络抓包工具容易捕捉网络上的通信数据,对物联网设备的数据安全造成威胁。通信加密的简单实现(2/6)
通过数据的异或即可实现简单的加解密。首先二进制数的异或运算:0^0=0,1^1=0,0^1=1,1^0=1。通过以上运算结果即可发现两个二进数进行异或运算,两个相同的二进制数异或则结果为0,
两个不同的二进数异或则结果为1。两个字符进行异或运算,则是通过它们的ASCII码值进行运算。如'A'^'B',则是65(0x41)^66(0x42),即二进制数:01000001^
01000010结果:00000011也就是'A'^'B'的结果是3,然后3^'B':
00000011
^
01000010结果:01000001
即'A'通信加密的简单实现(3/6)
通过数据的异或即可实现简单的加解密。首先二进制数的异或运算:0^0=0,1^1=0,0^1=1,1^0=1。通过以上运算结果即可发现两个二进数进行异或运算,两个相同的二进制数异或则结果为0,
两个不同的二进数异或则结果为1。两个字符进行异或运算,则是通过它们的ASCII码值进行运算。如'A'^'B',则是65(0x41)^66(0x42),即二进制数:01000001^
01000010结果:00000011也就是'A'^'B'的结果是3,然后3^'B':
00000011
^
01000010结果:01000001
即'A'由此可见,'A'^'B'的运算结果可作为加密数据,然后加密数据^'B'即可以解密还原。所以在网络通信中的数据只要异或一个固定的密钥字符作为加密,然后再次异或密钥字符即可实现解密。但只使用一个字符的密钥会容易遭到破解,所以在项目的加解密方法中采用多个字符组成的密钥,数据的每个字符逐一对应密钥字符进行异或运算进行加解密。通信加密的简单实现(4/6)
在当前项目设备端程序中增加加解密功能,在IoTMain.c源文件中增加密钥全局变量与加解密功能函数:staticchar*mykey="mypasswd";//加解密密钥//加解密功能函数voidenDecodeText(char*data,intdataLen,constchar*key){for(inti=0;i<dataLen;i++)data[i]=data[i]^key[i%strlen(key)];}在第47行插入网络通信数据的解密功能代码如下:
enDecodeText(data,len,mykey);//解密数据然后在第60行、第81行处(回传数据前)分别插入加密功能代码如下:
enDecodeText(data,dataLen,mykey);//加密数据通信加密的简单实现(5/6)在App端的IoTTcpClient.ets源文件中增加加解密的功能函数代码:exportfunctionenDecodeText(data:string,passwd:string):string{lets:string='';for(leti=0;i<data.length;i++){letcode=data.charCodeAt(i)^passwd.charCodeAt(i%passwd.length);s+=String.fromCharCode(code);}returns;}然后在IoTDeviceUI.ets源文件中的IoTDeviceUI组件代码中增加记录密钥的属性成员:
privatemyKey:string="mypasswd";//密钥并在第25行处插入在接收网络数据转换成字符串后进行解密的代码如下:
s=enDecodeText(s,this.myKey);//解密数据最后在第47行、第99行处(sendData前一行)分别插入数据加密功能的代码如下:
s=enDecodeText(s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年朔州职业技术学院单招职业技能考试题库及答案1套
- 2026年湖南单招摸拟试题及答案1套
- 2026年山东职高单招试题附答案
- 2026年深圳电工竞赛试题及完整答案1套
- 2026年无锡工艺职业技术学院单招职业技能测试题库附答案
- 2026年心理学测试题期末及完整答案1套
- 2026年无锡城市职业技术学院单招职业适应性考试题库附答案
- 2026年河源职业技术学院单招综合素质考试题库附答案
- 2026年成都文理学院单招职业倾向性考试模拟测试卷及答案1套
- 2026年吉林省经济管理干部学院单招职业倾向性考试题库及答案1套
- VFP表单控件的使用
- 化学月考卷子讲解
- 妇幼保健员考试试题题库及答案
- 建筑垃圾清理清运方案
- 外贸跟单基础知识培训课件
- 双氧水安全管理制度
- (高清版)DBJ∕T 13-278-2025 《福建省电动汽车充电基础设施建设技术标准》
- 江西省三校生高考数学试卷
- 2025年高一数学必修一数学竞赛模拟题
- 咨询管理方案大纲模板
- 第四单元欧洲风情《友谊地久天长》《云雀》《爱的罗曼斯》课件人音版(简谱)初中音乐七年级下册
评论
0/150
提交评论