项目中有个SocketServer要和移动便携POS机通信,POS开发商就告诉我们他们用的3DES(双倍长)加密,给了个Key、数据和结果,让我们实现。
c#用TripleDESCryptoServiceProvider来实现3DES加密解密,但是还有些CipherMode,PaddingMode,IV值什么的要配置。
折腾半天。这样搞定:
var tdes = new TripleDESCryptoServiceProvider
{
Mode = CipherMode.ECB,
Padding = PaddingMode.Zeros
};
var iv = HexStringToByteArray("0000000000000000");
顺手写了个小工具(带源码查看)方便测试。