1

许多程序,如runasWindows 和su*nix 上的程序都采取措施确保用户不会做一些愚蠢的事情,例如在批处理文件中写入密码,方法是确保密码不能通过管道传递给它或作为参数提供。

在工作中,有一项任务需要由另一名员工重复完成,需要以域的管理员帐户登录。我正在编写一个存根应用程序,该应用程序调用CreateProcessWithLogonW以完成此操作,而他们不可能看到纯文本密码,也不必给他们管理员密码。

我担心的是,如果使用十六进制编辑器(甚至是纯文本编辑器)打开密码,密码可能会在可执行文件中显示为纯文本。我是否应该采取措施确保在此应用程序中以混淆方式生成密码?

例如,从这样的结构开始:

typedef struct _MYPASS
{
    unsigned int first4;
    unsigned int next4;
    unsigned short next2;
    unsigned char last1;
} MYPASS;

然后对位进行运算以生成与登录密码对应的 ASCII。

这对于内部应用程序来说是否过大?

4

1 回答 1

1

使用 Password Vault 分离 exe 和密码怎么样?->如何从 Windows Vault 凭据管理器存储和检索凭据?

对内部工作没有帮助,但以防 exe 进入野外。

于 2016-08-30T22:04:47.720 回答