理论解释:
- 密码:确认加密模式是 DES-CBC 的话,那么你的密钥长度肯定不对,只需要 8 位,尝试去掉最后一位好了(很多加密算法实现时密钥长度超出默认只用前 8 位,并不报错),所以 **密码 = lsl12345**
- 偏移量:这里厂家未告知你偏移量,默认就用密码(这也是算法实现时的毛病),所以 **偏移量 = lsl12345**
- 再来确认密文组:对于 DES-CBC 加密模式来说,数据加密后模式是多组 64 位长度的密文块,这时候你的密文要存在数据库里一般会把它转成字符串存进去。
- 这时候 密文块 到 字符串 一般使用两种方式,要么 toHex,要么 toBase64
- 这里看密文是 hex 模式,我尝试了一下,直接反解是失败的
- 根据上面老哥提示,我将密文先从 hexToString 尝试了一下,得到一串字符串,一看就是 Base64 自符
- 故知:**厂家是将密文组 先 toBase64,再 toHex,这时候我们依次先 hexToString 一下,再将 Base64ToByte 一下得到密文组**
- 填充模式:这里选 **pkcs5**,其实用的是标准算法是无所谓的
- 解密即可得到你要的数据了
代码实战(我这里是 Golang ),你自己根据上面理论套一下就可以了
![Imgur](
)
你也可以使用在线工具试一下:
https://www.ssleye.com/des_cipher.html![Imgur](
)