房票系统的介绍
这个是我整理的项目的亮点:
https://www.yuque.com/xiaowan-l42uz/gbb54u/wqbifmfupicq3wut?singleDoc# 《03. web 房票系统组件库》
前后端加密传输
即使使用了 HTTPS
,也可能需要在应用层对数据进行额外的加密。 这可以通过以下方式实现:
对称加密: 加密解密是同一个密钥,速度快,数据接收方需要公布其私钥给数据传输方进行数据加密,安全性完全依赖于该密钥。适合做大量数据或数据文件的加解密。
- 使用AES、DES等对称加密算法对敏感数据进行加密和解密。
- 前后端需要共享一个密钥(key)用于加密和解密。
- 密钥的管理和传输需要特别注意安全性。
非对称加密: 加密用公钥,解密用私钥。公钥和私钥是成对的(可借助工具生成,如openssl等),即用公钥加密的数据,一定能用其对应的私钥解密,能用私钥解密的数据,一定是其对应的公钥加密。对大量数据或数据文件加解密时,效率较低。数据接收方需公布其公钥给数据传输方,私钥自己保留,安全性更高。
- 使用RSA、ECC等非对称加密算法。
- 私钥用于加密数据,公钥用于解密数据。
- 公钥可以公开,而私钥需要安全存储。
混合加密:
- 结合使用对称加密和非对称加密。
- 使用非对称加密算法交换对称加密的密钥(会话密钥),然后使用会话密钥进行实际的数据加密和解密。
如果数据传输较大,密钥不需要进行网络传输,数据不需要很高的安全级别,则采用对称加密,只要能保证密钥没有人为外泄即可; 如果数据传输小,而且对安全级别要求高,或者密钥需要通过 internet
交换,则采用非对称加密;
采用了两者结合的方式(混合加密模式),这样是大多数场景下采用的加密方式。加密时序图如下所示:
参考文章: