我有一个在 BlackBerry JE 4.6.1 上开发的应用程序,它使用 DES 算法解密来自 WebServer 的信息。如果我将加密信息发送到服务器,它会被很好地解密。但是如果服务器发送加密数据,我在解密后没有得到正确的值。密钥应该是相同的,并且加密信息以 base64 编码发送。在调试过程中我发现,在创建 DESKey 之后,它的内部数据与传递给构造函数的字节数组不同。例如,如果我以下一种方式创建 DESKey
String keyStr = "2100000A";
DESKey desKey = new DESKey(keyStr.getBytes()); // pass the byte array {'2','1','0','0','0','0','0','A'}
方法 desKey.getData() 返回与初始键不同的字节数组 {'2','1','1','1','1','1','1','@'}字节。
那么DESKey的这种行为是否有可能成为我无法从服务器解密数据的原因?
谢谢你。