繁体   English   中英

如何轻松判断文件是否已加密

[英]How can I tell easily if a file is encrypted

我将加密的数据文件接收到一个目录中,在该目录中,夜间进程不加密。
然后加载未加密的文件。

我需要编写一个Java方法来返回一个包含目录中所有未加密文件的文件名的数组。

加密方法是openSSL(aes128)。

到目前为止,我已尝试过getType()但它也为未加密的数据文件和加密文件返回content/unknown

我现在正在研究读取每个文件的前两行并检查返回的字符以查看文件是否已加密。
我需要知道的是,有更好的方法吗?

我还可以测试文件内容是XML还是纯文本,而不是测试文件是否加密,如果这使得解决方案更容易?

使用命名约定,以便解密的文件具有不同的扩展名,或将解密的文件放在不同的目录中。

编辑:鉴于你提到的限制,我认为你必须做你在问题中建议的。 这个http://www.dansdata.com/gz125.htm是一个有趣的文件识别问题指南。 如果它适用于您的特定文件类型,您还可以使用file unix命令。

我无法评论AES,但是几种加密标准(PGP可以想到)允许使用公共标头或者具有公共属性(如签名块或公钥)。

您检查XML的计划很好,jsut通过XML解析器提供它。 但是,它只会告诉您文件是否为XML,而不是加密。

您如何区分纯文本和加密文件? 它只是文字不是吗?

你使用了什么aes实现? 您使用的是哪些库?

加密文件是刚刚加密还是它们也是base64编码的? 这些文件如何存储在文件系统中? 直接写或通过其他机制写?

基于对@rosco的问题的评论,是否有任何理由无法解密文件以检查它是否已加密? 它们是非常大的文件吗? 您的应用程序是解密它的应用程序还是仅仅是中间人? 是否有任何安全限制会阻止您解密它?

你能制定商业规则吗? 例如,如果提交的内容未加密,则说明提交将被拒绝?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM