前后端加解密交互
前言
为保护用户个人隐私,加密算法必不可少。一套成熟的加解密算法,可以防止用户个人信息泄漏、丢失等一系列问题,保护用户隐私,加固网络传输安全。
加解密方式
加解密的方式居多像 base64、md5、sm2、sm3、sm4、2进制流等等等等
加解密流程一般由前后端约定的,约定好需要的参数以及加解密流程
浅谈加解密流程。
此前开发过一套多端兼容项目,小程序、Android、iOS、Web共同接入一个工程。四个工程访问入口都是以URL的方式来访问,URL中携带参数,h5工程中拿到参数进行解密流程,解密成功后才能唤起h5页面。
- h5项目中有固定的密钥,拿到加密后的参数后,先将密钥进行base64解密,解密后的密钥作为sm4的密钥,将解密拿到加密后的参数进行解密。
- 解密完成后读取参数中是否携带有效信息,是否符合唤起页面的要求,进行页面唤起。
- 工程中涉及到本地存贮的信息,进行封装存取函数,存入之前进行 base64 —> 2进制流 加密,取出解密后使用。
- 前后端交互调时参数进行加密,携带的Token、Key、用户信息等参数首先进行转字符串,然后进行base64加密 ,接着进行 sm3 加密 ,再进行 sm4 加密 ,最后将密钥单独进行 sm4 加密,将加密后的参数进行数据交互,后端拿到参数进行相反流程解密。
- 数据反显后先进行统一的解密处理,解密流程与后端的加密流程相反。
注 意:
数据交互中可能存在数据量较大的情况,例如图片、音频、视频之类的,如果要保证文件的质量不能进行压缩处理的情况下,可适当的简化加解密流程。