C++写的DES加解密程序为何与JAVA的DES加解密出来的结果不一致呢?该如何处理

C++写的DES加解密程序为何与JAVA的DES加解密出来的结果不一致呢?
C++写的DES加解密程序为何与JAVA的DES加解密出来的结果不一致呢?在网上也看到有人遇到过这种情况,不过都没说清楚具体原因!

------解决方案--------------------
是自行实现算法还是使用库?库的实现也是可能不相同的。
------解决方案--------------------
DES有很多变形
各个lib的实现不尽相同也是正常
------解决方案--------------------
先确定下是不是相同的模式 CBC , OFB , ECB 等... 相同的密钥和IV ...