附加到 CipherOutputStream - AES/CTR/NoPadding (Java)
Append to CipherOutputStream - AES/CTR/NoPadding (Java)
所以我的应用程序从互联网上下载视频,但在下载视频时对其进行即时加密,并将加密数据写入存储。我正在使用 AES/CTR/NoPadding。
如何将加密数据附加到已加密的文件?
这是因为下载可能会停止或连接可能会断开,因此应用程序可以恢复下载。我通过在恢复情况下传递附加参数来尝试此操作,文件完成(恢复)并且我可以解密文件(没问题)但是文件已损坏并且当我将它与一次下载的加密文件进行比较时(没有暂停和恢复)这是完全不同的。
而且一次性下载的文件解密后完全可用,可播放,所有位都完好无损。
我正在使用硬编码的 128 位密钥和硬编码的 128 位 IV。
您可以使用我在 this answer 中列出的相同方案来设置解密偏移量。实际上,对于 CTR 模式,加密与解密是相同的操作,因此很明显这两种操作的工作方式相同。当然,您必须提前将 IV 与密文一起存储才能工作。
所以我的应用程序从互联网上下载视频,但在下载视频时对其进行即时加密,并将加密数据写入存储。我正在使用 AES/CTR/NoPadding。 如何将加密数据附加到已加密的文件? 这是因为下载可能会停止或连接可能会断开,因此应用程序可以恢复下载。我通过在恢复情况下传递附加参数来尝试此操作,文件完成(恢复)并且我可以解密文件(没问题)但是文件已损坏并且当我将它与一次下载的加密文件进行比较时(没有暂停和恢复)这是完全不同的。 而且一次性下载的文件解密后完全可用,可播放,所有位都完好无损。
我正在使用硬编码的 128 位密钥和硬编码的 128 位 IV。
您可以使用我在 this answer 中列出的相同方案来设置解密偏移量。实际上,对于 CTR 模式,加密与解密是相同的操作,因此很明显这两种操作的工作方式相同。当然,您必须提前将 IV 与密文一起存储才能工作。