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

前后端数据交互安全

作者: 没有卢果 | 来源:发表于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与银行可以使用对称密钥来对沟通的内容进行加密与解密了。

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

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

    相关文章

      网友评论

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

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