我可以用密码保护应用程序吗



我有一个应用程序,除非得到明确的权限(通过密码(,否则我不希望人们访问它。更具体地说,除非用户输入密码,否则该应用程序需要在一天中的特定时间"锁定"。

检查时间的能力很简单。我不知道如何锁定应用程序。需要这样做的原因是公司不信任用户注销,也不希望任何未经授权的应用程序访问。这是一种以防万一的最后措施。

不过我没有写应用程序,所以我不能在其中嵌入密码。这台机器只有一个用户,我不想创建其他用户。我的用户也是一名管理员,因此大多数吸引使用操作系统来提供安全性的选项都不起作用。

关于如何做到这一点,有什么想法吗?我正在处理Mac OS X,但更喜欢独立于操作系统的解决方案。欢迎任何涉及CC++的解决方案。

谢谢!

将应用程序嵌入加密磁盘映像包中如何?只要唯一使用它的用户从不从那里复制它,并在之后正确地卸载捆绑包,我认为它就能实现你想要的:

  1. 使用disk Utility(这允许您输入密码(创建一个新的加密磁盘映像(DMG(,并将其存储在用户主目录中的任何位置
  2. 安装DMG并将您试图保护的应用程序放在其中
  3. 在安装的DMG中为应用程序创建一个别名,并将其放置在桌面上
  4. 卸载DMG

之后,当用户双击桌面上的别名时,系统会提示用户输入DMG的密码。如果它是正确的,DMG将被挂载,应用程序将自动直接启动。

为了之后自动卸载,也许您可以编写一些使用diskutil shell命令的脚本,如下所示:> diskutil unmount /Volumes/DMG_NAME

那么你所要做的就是:

  • 从系统中删除应用程序的任何未加密副本
  • 显式通知用户在使用完应用程序后卸载DMG(或编写脚本自动执行(
  • 向你的同事StackOverflowers解释你正在解决的实际问题是什么。Msw说得有道理,我希望你能详细阐述一下

显然,有了这种设置,任何东西都不会是100%安全的,但对于普通用户来说,你可以用密码加密应用程序,然后编写一个启动应用程序,在输入密码时解密并启动该应用程序,并在退出时删除该应用程序。

#include <stdio.h>
#include <string.h>
char buf[BUFSIZ]
puts('what is the secret password? ');
fgets(buf, BUFSIZ, stdin);
if (strcmp('secret', buf)) exit(1);

应该和您可能编写的任何其他代码一样工作,并且具有简单性和可移植性的优点。

最新更新