前后端分类,数据传输问题

作者&投稿:谢袁 (若有异议请与网页底部的电邮联系)
~

目前我所知道的项目开发中,基本上都是前后端分离的。这就出现了数据传输的问题,前端传给服务器 或者 服务器传给前端的数据都是容易被别人窃取的。这里就要对传输的数据进行加解密,以保证数据安全。

下面介绍两种前后端数据传输的方式

前后端约定一个key,将请求参数按照字母排序拼接成一个字符串(通常都是ASCll排序),然后拼接上key,最后用MD5或者SHA进行加密,得到一个加密的签名sign,再把sign作为最后一个参数传到服务端。

服务端拿到前端传过来的结果之后,也将参数(排除sign)按照顺序拼接成一个字符串,再拼接上key,再用MD5或者SHA进行加密,也得到了一个新的sign,服务端比较这两个sign,如果相同就说明传回来的数据没有问题,如果不相同,说明数据被串改了。

例如:
传递的参数是

id=5&age=10

现在通过加签 应该传递的参数为

id=5&age=10&sign=MD5(age=10&id=5)

服务端拿到的就是

id=5&age=10&sign=MD5(age=10&id=5)

服务端经过筛选参数,得到 id=5&age=10 ,然后进行排序得到 age=10&id=5 ,再MD5得到sign,两个sign进行比较

目前我知道的根据秘钥的使用方法,可以将密码分为两种

在对称密码中,加密、解密时使用的是同一个密钥,我们常用的AES算法就是对称密码算法。具体AES算法大家自己百度就好了

但是通常使用对称密码时,就会有秘钥配送问题。

例:发送者A将使用对称密码加密过得信息发送给接收者B,只有将秘钥发送给接收者B,B才能进行解密,这里A发送秘钥给B的过程中,就容易被别人窃取秘钥,别人拿着秘钥也能进行解密。

如何解决秘钥配送问题

我知道的几种解决方法

公钥密码

公钥密码中,密钥分为加密密钥、解密密钥2种,它们并不是同一个密钥。

目前使用最广泛的公钥密码算法是RSA

加密密钥,一般是公开的,因此该密钥称为公钥(public key)

解密密钥,由消息接收者自己保管的,不能公开,因此也称为私钥(private key)

公钥和私钥是一 一对应的,是不能单独生成的,一对公钥和密钥统称为密钥对(key pair)

由公钥加密的密文,必须使用与该公钥对应的私钥才能解密

由私钥加密的密文,必须使用与该私钥对应的公钥才能解密

1.由消息的接收者,生成一对公钥、私钥

2.将公钥发给消息的发送者

3.消息的发送者使用公钥加密消息

混合密码系统

不能很好地解决密钥配送问题

加密解密速度比较慢

混合密码系统,是将对称密码和公钥密码的优势相结合的方法,解决了公钥密码速度慢的问题,并通过公钥密码解决了对称密码的密钥配送问题

会话密钥(session key)为本次通信随机生成的临时密钥,作为对称密码的密钥,用于加密信息,提高速度

发送出去的内容包括

前端A >>>>> 服务器端B

发送过程,加密过程

接收过程,解密过程

文章参考了 猿天地的再谈前后端API签名安全? 和李明杰的底层原理iOS签名机制




前后端分类,数据传输问题
下面介绍两种前后端数据传输的方式 前后端约定一个key,将请求参数按照字母排序拼接成一个字符串(通常都是ASCll排序),然后拼接上key,最后用MD5或者SHA进行加密,得到一个加密的签名sign,再把sign作为最后一个参数传到服务端。服务端拿到前端传过来的结果之后,也将参数(排除sign)按照顺序拼接成一个字符串...

...譬如前端分类,传输分类,后端存储等的分类,各有什么特点。谢谢...
单单监控这块的话,现在主要分模拟监控系统和网络高清监控系统,模拟监控系统前端采用模拟摄像机,根据采用不同的芯片和图片分析软件来区别,种类很多,质量和价格参差不齐,传输分别采用视频线传输、光端机传输、双脚传输器传输等,根据环境和对工程要求不同来选择。后端可采用采集卡和硬盘录像机或者电脑主机...

后端模型是什么意思?
后端模型通常指的是一种基于计算机的算法或数据结构,用于构建并优化系统的功能和性能。这些模型往往需要专业人员以及大量的数据来训练和调整,以实现业务需求。不同的后端模型可以用于各种场景,如语音识别、机器翻译、图像分类等等。后端模型的开发需要具备一定的技能和知识,例如数学、编程语言、数据分析以及云...

后端包括哪些职业
首先要明确后端包括哪些职业:DBA(数据库维护优化专家),Developer(程序猿),Architect(构架师),Scrummaster及类似(敏捷开发专家),ProjectManager(产品狗),Maintenance&ITsupport(通讯和服务器相关),当然这只是一个大致的分类,并没有一个清晰的界限。按程序猿内功而言:关系型数据库,领域驱动设计...

2017年,Web 后端出现了哪些新的思想和技术
3.3 数据存储接着上面的数据收集,数据的传输和存储成为了绕不开的功能,kafka的大规模运用,HDFS,HBase等工具也开始成为了后端开发日常的一部分。3.4 数据计算然而存储的原始数据是没有价值的,后端又开始了他们的数据清洗和数据处理的道路,storm,spark成为了后端的新秀,与用户运营统计分析(俗称跑策略跑算法)不同,当前...

网页前端制作和后端制作的区别
前端 - 通常是针对浏览器而开发的,是在浏览器端运行的程序,而后端 - 针对的是服务器,准确的来说应该是服务器端开发。前端开发偏向于用户体验,比较直观,服务器端开发偏向于性能。两者结合起来,是比较吃香的,可以称之为Web开发,偏向于编程。而PS,可以看成是视觉设计方面的职能。工资的话很难说...

后端封装好接口怎么再加入一个数据
当后端已经封装好接口后,如果需要再加入一个新的数据,需要进行以下步骤:1. 更新数据库结构:首先,需要在数据库中添加新的数据表或者在现有表中添加新的字段,以存储新的数据。2. 修改后端代码:接下来,需要在后端代码中进行相应的修改,包括但不限于以下几个方面:- 数据库操作:更新数据库操作...

推荐9 个 yyds 前后端分离项目
一个基于 Spring Boot 2.1.0 、 Spring Boot Jpa、 JWT、Spring Security、Redis、Vue 的前后端分离的后台管理系统。项目采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,支持一键生成前后端代码,支持动态路由。体验地址:https:\/\/el-admin.xin 账号密码:admin \/ 123456 08 前...

后端ip是什么
后端ip卡具体的功能分类。IC卡是指集成电路卡,也叫作芯片卡,例如银行卡,电信卡、交通卡和社保卡等都是用芯片卡实现的。IP卡是一种运用了TCP\/IP协议的网络电话卡,IP卡早已被淘汰不用了。但是,TCP\/IP协议作为互联网通信的底层技术一直被使用,所以IP、IP地址等词汇还经常可以听到。这是第一种IP,...

网络操作系统的工作模式主要有
一. 工作方式分类:构筑计算机网络的基本目的是共享资源。根据共享资源的方式不同, NOS分为两种不同的机制。如果NOS软件相等地分布在网络上的所有节点, 这种机制下的NOS称之为对等式网络操作系统;如果NOS的主要部分驻留在中心节点, 则称为集中式NOS。集中式NOS下的中心节点称为服务器,使用由中心节点...

南部县13079651118: 客户端、前端、后端、服务端的区别分别是什么? -
濯薇迈格: 1、客户端:你打开百度首页,这个浏览器和显示的效果就属于客户端,就是用户使用的这边; 2、服务端:相对于客户端,你百度某个关键字,服务器要要查找资料,然后返回给你吧,查找的过程就是服务端程序做的事情; 3、前端:也可以理解为客户端的东西,但更多的是指代技术层面,就是开发客户端这边可见的技术,比如前端开发;4、后端:相对于前端,更多的指后端技术,就是开发和优化服务端程序的技术. (“客户端”就像“手机”,“服务端”就像“基站”,“前端”就像“通信工具”,“后端”就像“通信服务”,如果能理解后面的名词,就能理解区别了.)

南部县13079651118: 前端数据交互有哪几种 -
濯薇迈格: 1. HTML赋值2. JS赋值3. script填充JSON4. AJAX获取JSON5. WebSocket实时传输数据

南部县13079651118: 数据传输的传输分类 -
濯薇迈格: ①基带传输是指由数据终端设备(DTE)送出的二进制“1”或“0”的电信号直接送到电路的传输方式.基带信号未经调制,可以经过码形变换(或波形变换)进行驱动后直接传输.基带信号的特点是频谱中含有直流、低频和高频分量,随着频...

南部县13079651118: 关于数据传输 -
濯薇迈格: 数据传输是数据从一个地方传送到另一个地方的通信过程.数据传输系统通常由传输信道和信道两端的数据电路终接设备(DCE)组成,在某些情况下,还包括信道两端的复用设备.传输信道可以是一条专用的通信信道,也可以由数据交换网、...

南部县13079651118: 计算机网络中数据传输的问题: -
濯薇迈格: 在数据传输过程中,由A处传向X处,但是如果两个目标不是直接连接的,那么就会经过许多节点.而在数据包在从A出出发的时候,经过IOS的标准过程,会将包含IP地址的数据包包装成数据帧,就是而数据帧中就包含了物理地址(即下一个节...

南部县13079651118: 数据传输有几种模式?
濯薇迈格: 按照不同分类可以分为7种. 1、并行传输 并行传输指的是数据以成组的方式,在多条并行信道上同时进行传输,是在传输中有多个数据位同时在设备之间进行的传输.常用的是将构成一个字符的几位二进制码同时分别在几个并行的信道上传输...

南部县13079651118: 端到端的数据传送 -
濯薇迈格: 点到点是物理拓扑,如光纤,就必须是点到点连接,DDN专线也是,即两头各一个机器中间不能有机器. 点到点是网络层的,你传输层只认为我的数据是从a直接到e的,但实际不是这样的,打个比方,传输层好象领导,他发布命令:要干什么...

南部县13079651118: 如何处理好前后端分离的 API 问题 -
濯薇迈格: 意义很大,但是你的问题本身认识有偏差.对于前后端分离,认识上有个误区,那就是很多人自称:老早就分离了,全AJAX,使用Angular或者什么什么就可以了.这个说法是不合适的,打个比方,别人问的是“如何解决家禽把蛋生在水草边的...

南部县13079651118: web前端开发,前后端分离具体是怎么样的工作模式 -
濯薇迈格: 前后端分离,顾名思义就是前端只负责前端的开发,后端只只负责后端的开发,如何通过接口来进行数据交互. 这样做的好处就是:开发可以同时进行,代码维护更加方便,前端只需要拿到后端提供的接口,传递对应的数据就可以了,然后再把后端返回的数据渲染到前端页面上. 至于跨域问题是可以解决的,一般让后端解决就行了.最后上传到服务器的也很简单,你前端的就上传你开发的前端代码,后端的就上传他后端的代码就搞定了

南部县13079651118: 前后端数据传输id应该用字符串吗?
濯薇迈格: 在用String时刻以实用像UUID之类的唯一标示的字符码作为主键! 但如果想要identity主键的话就只能用 int 定义!! 其他的还有data类的 自己想想也知道那个可以定义时间作为主键!!等等!!自己考虑吧!!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网