java - Blowfish 解密十六进制编码的字符串

标签 java decode blowfish

我正在尝试通过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(),"Blowfish"));
byte[] decrypted = m_decrypt.doFinal(Hex.decodeHex(s.toCharArray()));

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

我的结果:-58 -73 -115 82 49 53 48 52 49 56 56 54 57 55

我在这个网站上检查了正确的字节数组 http://blowfish.online-domain-tools.com/

最佳答案

正确结果:c6 b7 8d 52 31 35 30 34 31 38 38 36 39 37 02 02
采用十六进制编码并包含两个字节的填充。

我的结果:-58 -73 -115 82 49 53 48 52 49 56 56 54 57 55
采用有符号十进制编码,没有填充字节。

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

关于java - Blowfish 解密十六进制编码的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45984042/

相关文章:

java - 如何应用补丁

java - Maven 插件签署特定文件

Java Blowfish 解密不返回原始字符串

java - 为什么 Blowfish 加密中的正斜杠会被删除?

c - 当你可以直接将指针传递给 C 中的函数时,为什么还要使用 memcpy() 呢?

java - 为什么在下面的场景中会抛出不同类型的异常?

java - 服务验证: throw an exception if validation failed

ios - 如何将包含\u转义字符的JSON解码为UTF8 NSString?

python - 如何在python中解码base64 url​​?

c++ - 摆脱 FFmpeg 不存在的 PPS 错误