判断文件是否被加密 我写了个小程序,功能是用浏览一般图片,用aes加密图片,用AES解密图片,现需满足一下要求:双击要打开图片,如果图片是未加密的文件,则直接用软件打开,如果文件时加密后的文件,则该软件跳出密码对话框,要求输入需解密密码。现需判断文件是否加密,目前采用的是捕捉错误,如果打不开文件,则弹出密码对话框。但这种方法耗资源和时间,请问大家,有没有好的方法,谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上的几位说的办法很好呀。在你把图片加密的时候,先定义一个文件头比如长度为30个字节,譬如:EPF(就是 加密的图片文件 的意思),然后写入文件的长度。还可以写入一些加密时间或特殊的加密标志等等。在这30个字节后面在写入你加密完成的图片文件。解密的时候,先用文件打开这30个字节,如果和你预先设定的若干内容相同,则认为是你的加密图片文件,之后读取这些数据,把这些数据解密就可以了。如果打开的数据文件不包含特定的字符,则是标准的图片格式了,打开即可。文件头:struct FileHeader { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3)] public string SIGN; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)] public string LEN; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)] public string TIME; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)] public string OTHER; } C# Winform webbrowser加载完页面后如何[修改]页面的js内容 从数据库读取下载文件名 趣味题,认为自己思想好的来试试 条形码数据采集器(不是扫描枪)如何与c#程序通讯呢? 用TcpClient开发邮件系统,发送大邮件问题! 动态改变IE代理服务器地址 顶者有分 用N‘ 改SQL語句解決亂碼的問題太煩,有沒有更好的解決辦法??? 谁能提供关于WIN32 API的参考资料?最好是电子书。 请问如何防止类中的方法被重载? 如何根据文件的扩展名。找到文件关联在一起的程序的文件名? C#设计器自动生成的代码顺序如何控制? 是我错了,还是MSDN错了
在你把图片加密的时候,先定义一个文件头比如长度为30个字节,譬如:
EPF(就是 加密的图片文件 的意思),然后写入文件的长度。
还可以写入一些加密时间或特殊的加密标志等等。在这30个字节后面在写入你加密完成的图片文件。解密的时候,先用文件打开这30个字节,如果和你预先设定的若干内容相同,则认为是你的加密图片文件,
之后读取这些数据,把这些数据解密就可以了。如果打开的数据文件不包含特定的字符,则是标准的图片格式了,打开即可。文件头:
struct FileHeader
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3)]
public string SIGN;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]
public string LEN;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]
public string TIME;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)]
public string OTHER;
}