附件下载:前后端数据交互加密实例.zip
简单介绍一下AES和RSA
- AES:对称加解密,加密解密使用同一个秘钥。
- RSA:非对称加解密,使用公钥加密数据,只有对应的私钥才能解密,加密方和解密方各自保存秘钥对中的一个。
为什么前后端交互要结合AES和RSA
- 如果只用AES
前端要加密数据,就需要保存秘钥,我们知道保存在前端的东西都不是秘密,秘钥泄露后,拿到秘钥和加密后的数据,就可以解密,加密毫无意义。 - 如果只用RSA
前端只保存秘钥对中的一个,即使泄露,也无法解密数据,解决了AES的问题。但是RSA效率低,每次交互都进行加解密,对性能影响较大。
结合使用:AES加密数据,RSA加密秘钥。AES的秘钥动态生成,避免了前端保存秘钥导致泄露的可能,RSA对秘钥加密,保证秘钥传输过程的安全。最终提交到后端的数据是:AES加密后的数据 + RSA加密后的秘钥