出于隐私原因,我想阻止我的用户将未加密的文件发布到我的ftp站点。

公司政策规定,所有敏感数据的数据交换均应使用PGP加密。

我想设置一个程序来监视ftp文件夹,并在其中放置新文件时,确认它实际上已加密。

我不能仅仅依靠文件扩展名,因为在某些情况下,我们的贸易伙伴需要一个特定的文件名,该文件名的末尾没有.PGP。

是否可以使用库或其他方法来验证给定文件是否已加密?

我在Windows平台上使用C#和.NET。

#1楼 票数:1

您可以轻松地检测文本模式PGP文件。 他们开始于

-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.0.11 (GNU/Linux)

并以

-----END PGP MESSAGE-----

这当然不是一种确定的方法,但足以防止意外的未加密上传。

我知道二进制格式是什么样子。 您可以尝试使用带有空密码的“ gpg -d”,如果由于“ decrypt_message failed”而失败,则它不是正确的文件。 如果失败并输入了错误的密钥,则它是PGP文件。 这不是一个好主意,因为消息将来可能会更改。

#2楼 票数:0

您必须采用启发式方法来确定文件是否已加密。 通常,加密文件倾向于具有几乎随机分布的字节。 因此,如果您读取字节流,并对每个字节进行存储桶计数,则分配应该是偶数,即每个加密的00h几乎与Aah或FFh或78h等(两个十六进制值代表一个字节)一样多文件。

坏消息是几乎所有压缩文件(jpg,mp3,zip等)也具有这种随机字节模式。 另外,作为启发式测试,某些加密文件将失败,某些未加密文件将被批准。

  ask by Aheho translate from so

未解决问题?本站智能推荐:

3回复

监视C#中的文件/目录访问

我想开发一个应用程序,它记录在机器上访问的文件/目录。 例如,我转到D:\\并进入文件夹文件并打开一个word文件。 我希望我的应用程序以以下格式创建日志: D:\\已打开 D:\\ documents打开 D:\\ documents \\ secret.docx已打开
1回复

监视文件夹中的更改并对它们做出反应的应用[关闭]

我必须编写一个应用程序,在身份验证阶段之后,该应用程序将监视文件夹的更改,并在发生某种情况(添加/删除/更新文件)时通过向服务器发送通知做出反应。 最好的方法是什么? 身份验证后启动Windows服务? 请注意,应该在用户导航ui的同时执行此监视活动。
3回复

创建用于监视的服务

作为编写Windows服务并与之通信的一项练习,我决定要尝试编写一项服务来监视计算机的硬件性能,对其进行记录并每天进行报告。 我希望能够远程查询服务,并且通过对此进行一点研究,我认为我可以在其中嵌入ServiceHost。 服务实际上如何运行? 我找到的示例都是OnStart..OnSt
5回复

如何确定运行.NETWindowsForms程序的监视器?

我有一个C#Windows应用程序,如果用户将其移动到第二台显示器,我希望它能够显示在第二台显示器上。 我需要保存主窗体的大小,位置和窗口状态 - 我已经处理过了 - 但是当用户关闭应用程序时,我还需要知道它所在的屏幕。 我正在使用Screen类来确定当前屏幕的大小,但我找不到任何关于如何
1回复

无法监视安全事件日志

我有以下代码: 但是我没有收到任何安全事件。 该程序在XP SP3上作为Windows服务运行。 我想念什么?
1回复

监视Windows窗体应用程序

我想监视Winforms应用程序内的用户行为。 是否有一种通用方法可以挂接到事件系统,而不必以每种形式或每个按钮编写事件处理程序? 我想监视应用程序中的以下事件: 窗户开了 窗户关闭 点击按钮 理想情况:每种形式花费的时间 我不想订阅所有形式的所有事件,该应
1回复

如何检测监视器2上的空闲?[关闭]

我整夜都通过HDMI将电视连接到笔记本电脑。 在白天,大部分时间我只在电视上有一个广播电台。 本质上,我试图为电视制作一个屏幕保护程序,以防止老化。 我目前有一个制作成全屏的随机形状的SWF文件,但要记住要戴上它; 而且,如果我需要在电视上快速演示某些内容,将其删除会有些痛苦。 如
1回复

检测连接的监视器数始终返回1或更多而不是0

我有一个Windows应用程序,需要在运行时检测正确数量的已连接监视器。 到目前为止,我已经能够在Internet和Stack Overflow上找到的所有方法都失败了。 无论是否实际连接屏幕,它们都返回1。 并且当连接2个屏幕时,其中一些正确返回2,但是,当未连接任何屏幕时,没有一个返