JAVA社交平台项目第三天 即时通讯和接口加密

      最后更新:2022-04-24 17:50:13 手机定位技术交流文章

      第3章:即时通信和界面加密

      学习目标:

      • (a) 了解当前的通信业务格局和要求;
      • 了解短连接和长连接
      • 承认网页版协议
      • 环云用于提供十维即时通信功能。
      • 了解接口加密的业务需求
      • 通用加密技术和关键格式得到支持。
      • 目前正在实施10项接口加密微观服务。

      1 业务场景和快速通信的要求

      即时通信(IM)是一种实时文本信息、文件、音频和视频通信,允许两个或两个以上个人同时访问网络。 在需要实时信息的商业环境中,使用即时通信解决方案。

      即时信息软件有几种类型:

      • 客服系统

        招商银行客服中心

      • 直播互动

        imgimgimg

        动动、现场直播和鱼战都是可能的

      • 社交APP

        imgimg

        微信 陌陌

      • 智能硬件,物联网

        imgimg

        摩拜单车 小黄车

      2 短连接和长连接

      在即时通信中使用长连线,我们将在这里讨论短连线和长连线。

      2.1 短连接

      每次客户端和服务器通信时,都会创建连接,通信就会结束。

      1563089166702

      HTTP是一项基本的请求-答复协议,通常在 TCP.HTTP/1..默认情况下使用的TCP是简短的连接。

      2.2 长连接

      是指在连接建立之后,在切断当事方之间的联系之前,数据可以连续多次提供。

      1563089363824

      从版本 1 的 HTTP 开始在底端连接长的 TCP 连接 。

      使用长期连接的HTTP协议在答复后附上代码:Connection:keep-alive

      2.3 短期和长期连接的差别

      二.三.1 交流过程

      短连接:创建连接 -> 传输数据 -> 关闭连接 长连接:创建连接 -> 传输数据 -> 保持连接 -> 传输数据 -> …… -> 关闭连接

      应用情景二.三.2

      短连接:大量数据很少互动

      长链:频繁的数据交换、点对点通信

      二.三.3 交流方式

      方式 说明
      短连接 我会发电子邮件给你 我会等你回信 否则我等不及了
      长连接 我发短信给你 保持联络 保持联络 当我做其他事时你就会反应 这样我就可以马上回到你身边

      Websocket 的 3 个程序

      3.1.1 《网套协定》具体是什么?

      • WebSocket 是一个 HTML5 协议,允许通过独立的 TCP 连接进行全时通信。

        • 什么是全时工作(全时工作)?全时工作(全时工作)是一个通信传输短语。当对话时,允许双方以两种方式发送数据。就能力而言,它类似于两类单一工作交流的混合体。完全的复入意味着信号可以同时向两个方向发出。是一个“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”、“B”和B就像是双向车道。
        • 单身雇员与单程汽车车道类似,因此只能向A-B发送信息,而A-B无法向A-B发送信息,而A-B无法向A-B发送信息,这与单程汽车车道类似,使A-B能够仅向A-B发送信息,而A-B无法向A-B发送信息。

        我不知道你在说什么,宝贝。 com/ item/% E5% 85% A8% E5% 8F% 8F% E5% B7% A5/ 31007? @ fr=Addin>

      • WebSocket 浏览器和服务器只需握手就可以建立持续连接和双向数据传输。

      • 从技术上讲,WebSocket比Ajax时间旋转(Set Interval)节省更多的服务器资源和流量。

      • Websocket 协议通常用于将数据从服务器传送到客户端 。

        ws

      3.2 Websocket 典型事件方法

      要构建 WebSocket 对象,请使用以下 API 。

      Web 套套间

      与 WebSocket 对象相关的事件如下。 如果我们使用前面的代码生成了 Socket 对象 :

      事件 事件处理程序 描述
      open Socket.onopen 连接建立时触发
      message Socket.onmessage 当客户收到服务数据时,触发器即触发。
      error Socket.onerror 通信发生错误时触发
      close Socket.onclose 连接关闭时触发

      Web 套件协议

      方法 描述
      Socket.send() 使用连接发送数据
      Socket.close() 关闭连接

      Case Spring-websocket 用于显示 WebSocket 。

      10维, 4 IM 函数

      4.1 系统设计

      四.一.1 技术替代品

      • 环信im云
      • 前端框架 vue

      结构图4. one.2

      环云和10个用户微服务系统用于认证前端网站上的用户身份。

      img

      4.2 环境和工具

      • nodejs
      • npm
      • 前端框架 vue
      • vscco 开发工具

      四.3 西尼姆云概览

      Ringsim Clouds是一个云层 PaaS 平台,可以立即进行通信,开发商通过一个简单的SDK和REST API对接。

      • 为Andre、iPhone、Web和其他客户SDKs提供文件支持
      • 聊天、集体聊天、聊天室和即时联系都可供使用。
      • 支持内容丰富的媒体信息、实时音频电影、以及各种直言不讳的延伸信息。

      四.三.1 账号

      Easemob, 抱歉。 本文是全球之声网络网站(Global Voices Online.com/user/register)特别报导的一部分。

      1558171856354

      四.三.2 开发应用程序

      1. 登录到Sim Cloud, 完成下图中描述的程序 。

      1558172299424

      1558172515551

      当输入一个应用程序名时,该程序会自动生成。

      1. 输入新建的应用程序,并获取密钥、 orgname、 客户名 ID 和客户端秘密 。

        1558172675763

      4.3.3 接口测试 - 调制调制

      1. Swagger 接口调试器用于测试接口 。

        抱歉, Easemob. # /% E8.8E% B7% E5% F%96token/% E8.8.8E% B7% E5% F% 96token/% E8.8.8E% B7% E7% B7% E5% F% 96token/% E8.8E8% B7% B7% E5% F%96token/% E8.8E8% B7% E5%

        1558172887029

      2. 邮差用来测试接口。

        1558172939905

      N.B. POST是请求类型。

      四、三、四、四

      img

      4.4 4次10途即时通信

      四、四.1 用户微观服务已经实现

      1) 制作一个叫做“shoquare_user”的子模块。

      创建Maven工程

      (2) 在Xml至Pom中添加依赖性。

      3) 创建应用程序.yml 配置文件

      (4) MyBatis 配置豆类准备

      5) 编写引导类

      6) 编写pojo

      7) 编写dao

      (8) 服务准备

      9) 主计长准备

      四、四.2 为即时通信前端编写

      访问环信IM开发文档–> Web客户端 --> SDK集成介绍 --》Web IM 集成介绍

      抱歉,Easemob,这篇文章是我们特别报导全球之声在线网站.com/im/web/intro/Incivil的一部分。

      1. 使用 Git 下载集成案例, 根据文件:
      1. 复制案件 Webimsdk 目录中的所有 j 文件到工程资源staticjs 。

      2. 将数据从 WebimsopteDemo 传输到资源静态。

      效果如下:

      1564476315662

      测试 Demo.html,确认即时信息用户登录,发送文本信息的效果如下:

      1564476721670

      四、四.3 发出和收到的信息

      这篇文章是我们在全球之声在线.com上特别报导的一部分。 只是将它改成chhatroom.html并不是一个聪明的想法,

      5 接口加密

      五.1. 公司世界简介

      数据安全 -- -- 检索工具

      imgimgimgwireshark fiddler charles

      该系统明确传输的数据将由匿名个人使用抓取工具收集,危及系统和数据的安全。

      5.2 加密方式

      五、二.1 估价摘要

      信息摘要是从任何长度输入中提取的一组信息长度。

      电文摘要算法的基本优点是,它不需要加密的钥匙。此外,加密数据无法解码。只有将相同的明确数据输入相同的电文摘要方法,才能检索相同的密码。信息摘要算法没有关键的管理或分发问题。它适合于分散的网络使用。

      以下是信息摘要的主要方面:

      • 电文摘要的计算长度始终相同,无论电文输入的时间有多长。
      • 信息摘要看来是“随机的”。 数据看起来是乱七八糟的。
      • 只要所提供的信息各不相同,通过总结生成的简要信息就会有所不同;不过,同样的输入将产生同样的结果。
      • 仅对信息进行肯定的总结是可能的,无法从中找到任何资料,也无法获得与原始材料有关的任何资料。
      • 虽然“ 折叠 ” 肯定存在, 但找到“ 折叠 ” 从体面的简易方法中找到“ 折叠 ” 是很困难的。 无法检测到两个单独的讯息, 但摘要是相同的 。

      CRC、MD5、MD5、SHA和其他通用简易算法

      5.2.2 对称加密

      使用相同的密钥,加密和解码使用相同的加密算法。

      对称加密的特点:

      • 快速,通常在发送者希望加密大量数据时使用。
      • 控制加密和解密程序的指示被称为密钥。
      • 算法是允许加密和解密的规则。

      广泛的离线数据加密(用于储存)是典型的应用情况。

      DES、3DES、AES、TDEA、Blowfish、RC2、RC4、RC5、IDA、SKIPPJACK和其他常见加密算法是:DES、3DES、AES、TDEA、Blowfish、RC2、RC4、RC5、IDA、SKIPPJACK等等。

      下图描述了对称加密程序。

      img

      加密安全不仅取决于加密方法本身,而且取决于密钥管理的安全性。 需要解决的一个挑战是如何正确交付解密器的钥匙。

      5.2.3 对称加密

      非对称加密手段是保守秘密的重要方法。两个不同的密钥用于加密和破译。私人钥匙(私人钥匙:私人)和公共钥匙(公用钥匙:公共)。公钥与私钥是一对,如果数据用公用密钥加密,私人密钥是唯一可以解码的密钥。

      对称加密技术具有以下特点:

      • 算法强度复杂
      • 加密和解密的速度对关键算法来说是不够的。

      数字签字(私人钥匙加密、公用钥匙认证)是一种典型的应用假想。

      使用的算法包括RSA、Elgamal、背负算法、Rabin、D-H和ECC(电子加密算法)。

      非对称加密算法图

      img

      5.2.4 数字签字

      数字签字(又称公用钥匙数字签字)是一种实际签字,类似于纸面印刷的实物签字,用于使用公用钥匙加密方法识别数字材料。

      私人密钥通常用于制作签名,而公共密钥则用于认证签名。

      签名及验证过程:

      1. 发送者使用Hashi函数生成的文字(例如MD5)创建报告摘要,并用自己的私人密钥加密报告摘要。
      2. 将加密摘要作为数字签名和通信向收件人发送。
      3. 收件人根据Hashi 函数收到的原始电文计算电文摘要,该函数与发件人相同。
      4. 收件人然后使用发件人的公用钥匙破译电文所附的数字签字。
      5. 如果两份摘要相似,接收人将能够确定数字签字来自发送人。

      img

      数字签字认证有两个目的:

      • 确定来文是由发件人签署和递送的。
      • 确定消息的完整性

      OpenSSL生成了5.3版的RSA配对键。

      使用一个登记册系统管理人算法,使用5-3个关键格式。

      密钥长度必须是 64 的倍数, 必须在 512 和 65536 之间( JDK 中的默认值为 1024) 。 密钥的典型文件格式是 pem( 文本存储) 或 der( 文档存储) 。

      当使用 Java API 生成 RSA 密钥对时, 公用密钥以 X. 509 格式代码编码。 PKCS# 8 私用密钥代码

      登记册系统管理人除其他外,利用pkcs协议界定了关键储存结构。

      协议 说明
      PKCS#1 指定登记册系统管理人公用钥匙业务的基本格式要求,特别是数字签字。
      PKCS#2 登记册系统管理人信息摘要已加密并纳入PKCS1号。
      PKCS#3 Diffie -Hellman关键协议的标准 。
      PKCS#4 最初设计它是为了支持登记册系统管理人关键语法,但现已列入PKCS#1。
      PKCS#5 基于密码的加密标准解释了如何使用密码生成的密钥加密八位数字符串并生成加密八位数字符串。 PKCS#5 可用于加密私人密钥以简化安全密钥传输(如 PKCS#8 所指定)。
      PKCS#6 509 证书属性扩展的语法表。 扩展证书语法标准, 指定 X. 用于提供实体外信息 。
      PKCS#7 提供了密码通信的语法指南,提供了使用加密技术(例如数字签字和数字信封)的数据的通用术语。
      PKCS#8 建立了私人关键信息语法和加密语法标准,包括使用PKCS#5标准的私人密钥加密。
      PKCS#9 可选属性类型。
      PKCS#10 证书请求语法标准。
      PKCS#11 密码令牌接口标准。
      PKCS#12 个人信息交流语法标准。
      PKCS#13 椭圆曲线密码标准。
      PKCS#14 伪随机数产生标准。
      PKCS#15 密码设计信息的标准语法 。
      • Pkcs标准的细节 : https://www.rfc-editor.org/search/rfc_search_detail.php?title=pkcs&pubstatus%5B%5D=Any&pub_date_type=any
      • 共和国登记册系统管理人的官方网站是:https://ww.un.org/I'm sorry, rsa,这是我们对2011年马拉维选举的特别报道的一部分。

      5.3.2 开源l 制成 rsa 密钥对规范

      1. openssl genrsa -out …/mycerts/rsa_private_key.pem 2048

        以文本存储格式创建 RSA 私人密钥, 长度为 2048 个字符 。

        1558277615761

      2. openssl rsa -in …/mycerts/rsa_private_key.pem -pubout -out …/mycerts/rsa_public_key_2048.pub

        从私有密钥创建公用密钥 。

        1558277803115

      3. openssl pkcs8 -topk8 -inform PEM -in …/mycerts/rsa_private_key.pem -outform PEM -nocrypt > …/mycerts/rsa_private_key_pkcs8.pem

        私人密钥应转换为 pkcs8 。

        1558277908856

      5.4 配置接口加密微观服务

      通过接口程序解密请求的参数

      1563096130123

      修改 5th.4th.1st.1st.1st.1st.1st.1st.1stst.1stst

      在父亲项目Pom的第10侧添加 SpringCloud refliance in xml。

      a 建设Eureka微型服务(第5步)

      在Pom, 创建马文项目 东夸雷- eureka。 在 xml 中添加以下依赖性 :

      添加配置文件:

      编写启动类:

      第5.4第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第5次第3次第3次第3次第3次第3次第5次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次第3次

      以 xml 向 Pom 添加 Eureka 依赖性 。

      更改配置并使用Eureka。

      在文章应用中,添加 @ EnableEurekaCliet refliance 。

      创建 drquare_ encrypt 网关服务 。

      作为下一步,在Tensquare-encrypt父项目下创建一个新的Tensquare_encrypt子模块,并添加配置和代码。

      1. 将以下配置添加到 Pom 中的 xml 文件 。

      2. 资源文件夹.yml 文件已添加一个新应用程序, 配置如下 。

      3. Tensquare, 我不知道你在说什么。 用以下代码创建的新的启动类加密应用软件来加密软件包 。

      }

      1. 编写filter

        我不知道你在说什么 Tensquare. Encrypt 包裹一个新的过滤器包, 然后一个新的过滤器类 RSARequestFilter, 并添加下面的代码 。

      2. RsaKeys现在应该包含由开关生产的公共和私人钥匙。

        公钥变量:private static final String serverPubKey

        私钥变量:private static final String serverPrvKeyPkcs8

      3. 用于测试请求参数解密的微波服务

        启动 drquare_eureka, dhquare_ article, 和dhquare_ encrypt, 然后使用加密测试等级加密来加密请求参数和接口测试的邮递员 。

        }

      4. RsaKeys现在应该包含由开关生产的公共和私人钥匙。

        公钥变量:private static final String serverPubKey

        私钥变量:private static final String serverPrvKeyPkcs8

      5. 用于测试请求参数解密的微波服务

        启动 drquare_eureka, dhquare_ article, 和dhquare_ encrypt, 然后使用加密测试等级加密来加密请求参数和接口测试的邮递员 。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/22828.html

          热门文章

          文章分类