我想将安全数据(字符串)从客户端发送到服务器。这就是我想我想做的:
然后服务器会:
这是手动加密数据的好方法吗?这安全吗?是否值得花时间尝试制作手动加密器?
听起来您正在尝试使用双方都知道的固定密钥(您扰乱字节的“特定方式”)来推出自己的对称加密方案。与简单地使用具有已知密钥的内置加密方案相比,这样做没有任何优势,并且存在很大的潜在缺点。只需一个小的实施错误就可以创建一个可供恶意用户利用的漏洞。
除非您以加密为生,否则您无法做得比现有的、已知的和经过现场验证的技术更好(AES是一个好的开始)。如果安全对您很重要,请不要尝试。不过,如果您想将实验作为一种爱好,那就尽情享受吧。
这是一种加密数据的方法吗?
如果您只是“扰乱”数据,则不会。如果明文只是被扰乱,那么重建明文是“微不足道的”。 (这意味着第一次有人想要读取数据时,他们可能会这样做,但如果他们不太努力,他们不会偶然发现它。)
另一方面,如果您随后对其运行“真正的”加密算法,则加扰对解密的难度增加可以忽略不计,但您依赖于简单的加扰足以减慢某人的速度破解了“真正的”加密,这似乎不太值得。
您可能会更好地坚持使用经过充分测试的加密机制,该机制是由以使用非常大的素数进行数学为生的人设计的。 Java的加密框架可以让你相当容易地实现公钥/私钥系统,或者双盲密钥交换系统;例如,您可以只使用 HTTP-SSL 进行数据交换,而无需进行太多设置。
不,杂乱不是很好。对于一个简单的方案,您可以在检查 XOR 运算符的基础上构建。