美文网首页
前后端交互数据加解密

前后端交互数据加解密

作者: morning_dew | 来源:发表于2021-07-27 16:56 被阅读0次

    1 加密方式介绍

    本文提供了一种前后端交互数据的加解密方法,主要涉及了AES和RSA两种加密方式。

    AES加密

    AES加密是一种对称式加密,即加密和解密所需秘钥是相同的。后端生成一组秘钥,并利用该秘钥加密数据,然后发给前端,同时也需要把秘钥发送给前端,这样前端才能解密。这样就会有风险,一旦秘钥被泄露,你的加密将不存在任何意义。同时,相比RSA加密来说,好处是不会限制加密字符串的长度。

    RSA加密

    RSA加密,是一种非对称式加密,相比AES加密,这个就安全多了。后端生成一对秘钥,自己拿着私钥,公钥可以公开。这样前端拿公钥进行加密,后端拿私钥进行解密,私钥掌握在自己手里,被泄露的风险就小了很多。当然也有不好的地方,就是被加密字符串的长度不能过长,1024的秘钥只能加密117字节以内的明文,这就比较尴尬了,可能稍微长一点的数据就会超出了,当然可以通过2048或者4096的秘钥来延长加密长度,但总会被超出。所以适合需要加密长度不长的数据,最好是已知长度的数据,这样 就不会因长度问题报错。

    RSA+AES混合加密

    RSA+AES混合加密,即后端通过RSA算法生成一对公私钥,并把公钥提供给前端。前端通过AES算法生成密钥,利用公钥进行加密并送给后端,后端根据私钥进行解密,得到与前端相同的AES密钥。然后,前后端就可以利用AES密钥对称加密进行数据交互。

    2 详细步骤

    详细步骤如图所示。


    加解密.png

    3 总结

    RSA+AES混合加密,结合了两种加密方式的优点。另外,前端每次启动都会随机生成AES密钥,后端增加token失效机制(前端设置了定时任务请求token),增加了前后端数据交互的安全性。

    4 参考文档

    https://www.cnblogs.com/huanzi-qch/p/10913636.html
    https://blog.csdn.net/weixin_38342534/article/details/94582656

    相关文章

      网友评论

          本文标题:前后端交互数据加解密

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