Java 河豚解密十六进制编码字符串

Java 河豚解密十六进制编码字符串,java,decode,blowfish,Java,Decode,Blowfish,我正试图通过河豚对编码字符串进行解密。但结果与正确的结果不同 String s="a1d0534e4baf9e670bde8670caee8b87" String decKey = "R=U!LH$O2B#"; Cipher m_decrypt = Cipher.getInstance("Blowfish/ECB/PKCS5Padding"); m_decrypt.init(Cipher.DECRYPT_MODE, new SecretKeySpec(decKey.getBytes(),"Blo

我正试图通过河豚对编码字符串进行解密。但结果与正确的结果不同

String s="a1d0534e4baf9e670bde8670caee8b87"
String decKey = "R=U!LH$O2B#";
Cipher m_decrypt = Cipher.getInstance("Blowfish/ECB/PKCS5Padding");
m_decrypt.init(Cipher.DECRYPT_MODE, new SecretKeySpec(decKey.getBytes(),"Blowfish"));
byte[] decrypted = m_decrypt.doFinal(Hex.decodeHex(s.toCharArray()));
来自现场的正确结果:c6 b7 8d 52 31 35 30 34 38 36 39 37 02 02

我的结果:-58-73-11582495348524956545755


我在这个站点上与我的检查了正确的字节数组

正确的结果:
c6 b7 8d 52 31 35 30 34 38 36 39 37 02

是十六进制编码,包含两个字节的填充

我的结果:
-58-73-11582495348524956545755

在无填充字节的有符号十进制编码中


它们是相同的值,只是在不同的编码中,“我的结果”和往常一样删除了填充。

谢谢,我将修复帖子名称。河豚已经过了“最佳使用日期”,甚至它的作者也不再使用它。“我的结果”和“来自站点的正确结果”是十六进制吗?这些是不同的编码,相同数据的不同编码将是不同的。正确结果的最后一个
0202
是两个字节的填充,通常会被透明地删除。谢谢,我发现了我的错误,它确实是不同的编码。我的疏忽…@zaph的确,通常填充是透明删除的,但我认为网页只是添加了填充,没有告诉任何人