美文网首页工作生活
前后端数据交互安全

前后端数据交互安全

作者: 没有卢果 | 来源:发表于2019-07-03 10:04 被阅读0次

原因:因为http是无状态协议, 信息传输是明文, 这会产生一个问题,那就是数据的安全, 如何防止数据被恶意截取修改等等
为了解决这个安全问题, 就有了数据加密

hash加密:MD5,SHA256

MD5和SHA256算法具有以下特点:

压缩性:任意长度的数据或者是任意大小的文件,算出的值的长度是固定的。
抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。

两者的区别:

MD5值长度都是32位的十六进制数,SHA256值长度是64位的十六进制数,因而SHA256安全性更高一些。
MD5计算速度快,SHA256相对较慢

对称加密:AES,DES

对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。
对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解;但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。密钥的大小既要照顾到安全性,也要照顾到效率,是一个trade-off。
缺点:用户将密码发给服务端时,密码被攻击方用非常规手段截取了,那攻击方就可以轻松获取到用户信息,这就不能做到保密的目的,在用户私人信息经常被泄密的时代,对称加密方式的缺点显得越来越突出。

非对称加密:RSA,DSA

非对称加密会产生两个东西,公钥(public key)和私钥(private key),公钥是由私钥生成的,公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
虽然非对称加密很安全,但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。为了解释这个过程,请看下面的例子:

(1) Alice需要在银行的网站做一笔交易,她的浏览器首先生成了一个随机数作为对称密钥。
(2) Alice的浏览器向银行的网站请求公钥。
(3) 银行将公钥发送给Alice。
(4) Alice的浏览器使用银行的公钥将自己的对称密钥加密。
(5) Alice的浏览器将加密后的对称密钥发送给银行。
(6) 银行使用私钥解密得到Alice浏览器的对称密钥。
(7) Alice与银行可以使用对称密钥来对沟通的内容进行加密与解密了。

关于对称和非对称加密的总结

对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。
非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。
解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。

相关文章

  • 前后端数据交互安全

    原因:因为http是无状态协议, 信息传输是明文, 这会产生一个问题,那就是数据的安全, 如何防止数据被恶意截取修...

  • API认证方式

    前言 APP和后端进行交互的时候,我们都是需要考虑数据的安全性。APP想后端发起一个请求(http/https),...

  • 2018-02-08

    前端与后端的数据交互 前端与后端的数据交互,最常用的就是GET、POST,比较常用的用法是:提交表单数据到后端,后...

  • HTTP协议、存储、Ajax

    前后端数据交互与 HTTP 协议 1、前后端通信是什么(1)前端和后端交互的过程(2)浏览器和服务器之间数据交互的...

  • SpringBoot写API接口,如何提高API的安全性,数据加

    概述 前后端分离的项目中,数据交互都通过接口交互,接口的安全性很重要,对于传输的数据进行加密解密是很有必要的。 如...

  • 前后端数据交互方法总结

    前后端数据交互方法 在此介绍几种常用的前后端数据交互方法,并给出使用建议。以提高前后端协同开发的效率。 目录: H...

  • API加密框架原理解密

    关于框架的使用文章请参考: 前后端API交互如何保证数据安全性?:http://cxytiandi.com/blo...

  • 前后端数据交互方法

    《前后端数据交互方法》http://www.zhihu.com/question/26532621一个小案例搞懂前...

  • 前端加密的简单总结

    数据加密一般是为了前后端在数据交互过程中数据的安全。常见的做法有前端加密之后传输数据和启用HTTPS协议。现在主要...

  • 再谈前后端API签名安全?

    上次《前后端API交互如何保证数据安全性?》文章中,我们介绍了如何在Spring Boot框架中去统一处理数据的加...

网友评论

    本文标题:前后端数据交互安全

    本文链接:https://www.haomeiwen.com/subject/kpwfhctx.html