最近在用 golang 自己写协议,看着协议中说的,客户端向服务端发送内容时,需要掩码处理下
具体算法如下: result-octet-i = source-octet-i xor mask-key-octet-j ( j = i % 4)
然后,问题是这样子,和明文有什么区别,怎么防范恶意攻击的,加这个掩码有什么特殊作用吗?(掩码和内容,是一起发送给服务端的)
最近在用 golang 自己写协议,看着协议中说的,客户端向服务端发送内容时,需要掩码处理下
具体算法如下: result-octet-i = source-octet-i xor mask-key-octet-j ( j = i % 4)
然后,问题是这样子,和明文有什么区别,怎么防范恶意攻击的,加这个掩码有什么特殊作用吗?(掩码和内容,是一起发送给服务端的)
|
1
掩码不是用来纠错的吗,防止数据丢失
|
|
2
xor ”加密“属于幼儿园级
本质上就是凯撒密码,有足够样本而且有概率特征的话很容易破解,或者知道原文合理范围的可以穷举 掩码内容一起发送………大概也就能糊弄糊弄公司的上网监控吧…… |
|
3
是防止中转服务器直接返回缓存结果。所以客户端的每个 ws 包都要用掩码来保证数据不一样,所有包都应该到达服务器并由它返回应答。
|
|
lhbcFeb 3, 2017 via iPhone
5
和明文没区别,要安全上 wss ,就是 tls
|
|
WispZhanFeb 3, 2017
6
要加密就是 SSL ,上 WSS
|
|
7
|
|
AntidictatorFeb 3, 2017 via Android
8
@lhbc 请教头像出处
|
|
9
|
|
gulucnFeb 3, 2017 via Android
10
@ruandao 我的解释也不太对,不过可以看下这里: https://github.com/abbshr/abbshr.github.io/issues/47
|
|
lhw45202Feb 3, 2017
11
保证数据完整
|