【发布时间】:2018-07-29 16:27:36
【问题描述】:
我正在尝试进行音频隐写术。在将数据隐藏在音频中之前,我使用 aes 对数据进行加密,然后在 lsb 处以连续字节的形式嵌入位。恢复和aes解密工作正常。
但是如果我为 lsb 尝试随机位,它会给我以下错误:
-->线程“main”javax.crypto.BadPaddingException 中的异常:给定最终块未正确填充
错误指向
public byte[] decr**strong text**yptText(byte[] byteCipherText,Key secKey) throws Exception {
// AES defaults to AES/ECB/PKCS5Padding in Java 7
Cipher aesCipher = Cipher.getInstance("AES");
aesCipher.init(Cipher.DECRYPT_MODE, secKey);
byte[] bytePlainText = aesCipher.doFinal(byteCipherText);
【问题讨论】:
-
您确定提取所有嵌入的正确字节吗?您只向我们展示了 3 行代码,这可能是引发错误的地方,但有问题的逻辑可能在您的代码中更早。
标签: java aes steganography