Java 和 c++ 加密的结果不匹配
我有一个现有的c ++代码,它将加密字符串。现在我在.某些加密字符串与 匹配。有些在一个或两个字符中不匹配。
我无法弄清楚为什么会发生这种情况。我在调试模式下运行了这两个代码,直到它们调用它们的库都具有相同的密钥,salt,iv字符串进行加密。
我知道,即使单字节填充更改也会大幅修改加密字符串。但在这里,我只看到一两个字符的变化。这是一个示例(星星之间的粗体字符是部分不匹配)
爪哇岛:
U2FsdGVkX18xMjM0NTY3OGEL9nxFlHrWvodMqar82NT53krNkqat0rrgeV5FAJFs1vBsZIJPZ08DJVrQ*Pw*yV15HEoyECBeAZ6MTeN+ZYHRitKanY5jiRU2J0KP0Fzola
C++:
U2FsdGVkX18xMjM0NTY3OGEL9nxFlHrWvodMqar82NT53krNkqat0rrgeV5FAJFs1vBsZIJPZ08DJVrQ*jQ*yV15HEoyECBeAZ6MTeN+ZYHRitKanY5jiRU2J0KP0Fzola
我正在使用 AES 加密。提供程序是 SunJCE 版本 1.6。我尝试将提供商更改为Bouncy Castle。即使这样,结果也是一样的。
又添加了一个示例:
C++:
U2FsdGVkX18xMjM0NTY3O*I*/BMu11HkHgnkx+dLPDU1lbfRwb+aCRrwkk7e9dy++MK+/94dKLPXaZDDlWlA3gdUNyh/Fxv*oF*STgl3QgpS0XU=
爪哇岛:
U2FsdGVkX18xMjM0NTY3O*D*/BMu11HkHgnkx+dLPDU1lbfRwb+aCRrwkk7e9dy++MK+/94dKLPXaZDDlWlA3gdUNyh/Fxv*j9*STgl3QgpS0XU=
更新:
根据评论,我觉得base 64加密是罪魁祸首。我在两个地方都使用拉丁-1字符集。我可以检查的任何其他内容