gpt4 book ai didi

c# - 如何检查文件是否使用 AES 加密 (Rijndael)

转载 作者:太空狗 更新时间:2023-10-29 20:00:43 27 4
gpt4 key购买 nike

我在 C# 中使用“RijndaelManaged”和“CryptoStream”类来加密文件。在加密文件之前,我想检查文件是否已经加密。

我尝试使用 File.GetAttributes() 方法来检查加密,但它不起作用。

我需要一些有关检查文件是否已加密的方法的提示。

最佳答案

如果没有任何类型的自定义 header ,绝对确定文件已加密的唯一方法是尝试对其进行解密。

如果您尝试压缩文件并且文件变小,那么它极不可能被加密。如果字节值分布不均匀(包括纯文本!),则它不太可能被加密。

这些启发式方法取决于加密的正确执行。如果 AES 一次一个 block 地应用于文件,那么结果中可能会出现模式,但由于您使用的是 CryptoStream,这应该不是问题。

如果您自己的代码将始终用于加密和解密文件,那么您应该考虑添加一个自定义 header ,表明它是一个加密文件。

关于c# - 如何检查文件是否使用 AES 加密 (Rijndael),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2389561/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com