【问题标题】:Make any file unopenable in java [closed]在java中使任何文件无法打开[关闭]
【发布时间】:2013-03-08 02:20:01
【问题描述】:

我正在用 java 创建一些电影文件。该文件为 .mp4 格式。 由于视频是从安全监控摄像头拍摄的,我想让这个文件在任何媒体播放器中被任何人打开时看起来都损坏了。唯一的方法是解密文件,方法与加密时所做的相反。

x = // byte read from file.
x = x >> 2;
// write x to new file

所以基本上我正在寻找某种方法来加密文件(可能会移动文件的每个字节)。我不想使用复杂的算法,如 AES、DES 或密码加密。

仅通过移动字节来解密/加密文件的最佳方法是什么。 这会使文件看起来损坏吗?

【问题讨论】:

  • 您的建议是混淆,而不是真正的加密。它没有提供真正的安全性。如果这是敏感信息,你真的真的应该使用适当的加密。
  • 我真的不需要任何加密之类的东西,而混淆是我想要实现的写东西,
  • 复杂的加密算法不一定要用起来很复杂,看看可用于 Java 的各种加密库,有些比执行您自己的字节移位混淆不难......
  • 所以你是说它不是敏感信息?或者它敏感信息,但您对它的关心程度不足以使用适当的加密? (正如 Seanhodges 所说,这并不需要很棘手。)
  • 您想使用 DRM en.wikipedia.org/wiki/Digital_rights_management 之类的东西吗?

标签: java file encryption binary


【解决方案1】:

与使用众所周知的加密算法相比,某些专有的比特旋转算法更容易出错。

由于安全性对您来说不是主要问题,因此我建议您将 AES 密钥硬编码到您的应用程序中,然后对数据进行标准的 AES 加密/解密。

这真的很简单,而且有很多例子。这将比发明自己的方案并查看它是否有效要快。

【讨论】:

    【解决方案2】:

    这或多或少是通过默默无闻的安全性。它可能会阻止普通用户观看视频,但有恶意的用户不会屈服于某些字节移位/异或或其他快速加密技术。

    至少引入一些密钥来加密数据。带键的 XOR 实现起来很简单,而且速度很快。

    在解密之前,任何电影播放器​​都无法播放此类文件。

    【讨论】:

      【解决方案3】:

      在处理加密时,通常最好使用众所周知的算法。它没有你想象的那么复杂(使用你选择的语言提供的加密api,不要自己重写)

      如果您像示例中那样移动字节,您将无法取回旧值: 例如:你有 0xAB (10101011),你移动 2 你最终得到 00101010...你将如何找回丢失的位?

      【讨论】:

        猜你喜欢
        • 2014-07-24
        • 2016-03-11
        • 2014-11-18
        • 2019-07-03
        • 2015-02-14
        • 1970-01-01
        • 1970-01-01
        • 2018-07-17
        • 1970-01-01
        相关资源
        最近更新 更多