Go语言的DES加密(CBC模式, ECB模式) ---- 与java加密互通
问题场景:
业务需要对接接口, 采用DES加密方式加密, 于是google一下go的DES加密方式,
go的DES的默认隐藏了ECB模式, 因为go认为ECB不安全, 所以不建议使用,就隐藏了,
然而接口却需要采用ECB模式(吐槽写文档的人, 并没有写明使用了ECB模式,
这让我耗费了大量的时间来猜测他的加密模式)
ECB
- 概念
ECB(电子密本方式)就是将数据按照8个字节一段进行DES加密或解密得到一段8个字节的密文或者明文,最后一段不足8个字节,按照需求补足8个字节进行计算,之后按照顺序将计算所得的数据连在一起即可,各段数据之间互不影响。 - 特点
- 简单,有利于并行计算,误差不会被传送;
- 不能隐藏明文的模式;在密文中出现明文消息的重复
- 可能对明文进行主动攻击;加密消息块相互独立成为被攻击的弱点
CBC
- 概念