注:本设想只针对有账号的网络数据传输,如微信账号间发消息的数据加密。
核心思想:对每个用户设定不同的秘钥。
对某一网络由于账号的ID(或用户名)是不能重复的,所以如果对ID(或用户名)进行处理作为信息加密的秘钥,可基本保证每个用户的加密秘钥都不相同。数据从客户端传到服务器,可用客户端的用户秘钥进行加密,服务器进行解密后得到原始数据;服务器向客户端发送数据时先根据要发送的用户秘钥,对数据进行加密,然后传输到用户端进行解密。
由于不同用户的秘钥不同,所以单纯得到某一个用户的秘钥是没有多大用处的。如果有人想要破解数据,登录自己的账号,只能根据加密前和解密后的数据推断出自己的秘钥,而秘钥的产生机制则需要大量的账号通信数据才能推断出。所以在加密算法源码没有泄露以及用户密码没有泄露的前提下,从网络截取数据进行解密几乎是不可能的。而一旦用户密码泄露,那就没有必要破解数据了。
对数据加密方面没什么研究,只是灵光一现的想法,请熟悉数据加密的朋友指教