现在想到的有以下方案:
-
服务端和客户端先约定好加密算法,加密密钥
客户端,传输前用约定好的密钥加密
传输密文
服务端,收到消息后用约定好的密钥解密
但是浏览器代码很容易查看,密钥泄露,放弃
-
客户端和服务端提前约定好加密算法,在传递消息前,先协商密钥 [动态密钥]
客户端,请求密钥
服务端,返回密钥
然后用协商密钥加密消息,传输密文
黑客可以劫持传输的密钥,放弃
-
协商的密钥无需在网络传输
使用 用户加密密码 作为加密密钥 [用户需要手动输入密码]
一人一密,每个人的密钥不同
然后密钥加密消息,传输密文
服务端从db里获取这个 用户加密密码 ,解密
用户体验极差,不合适
大神们,有没有比较折中的方案?
https ,成熟的,现成的方案不用,还自己折腾干嘛。