1

有没有办法在 SAS 中对 SAS CODE进行密码保护?或者,如果没有,应用某种密码保护的最简单/最快的方法是什么?

我指的是从本地 Windows PC 运行的脚本(即不是批处理)。脚本存储在标准网络驱动器上...

(理想情况下,该解决方案不涉及 Word 或 Excel 等 Microsoft 产品!!)

4

2 回答 2

2

您可以尝试使用通过 NOSOURCE 和 NOEDIT 选项复制的 SCL 代码。当然,这种方法依赖于您安装了 SAS/AF。

像这样:

  1. 创建一个新的本地 SCL 条目。您的 INIT 部分要求或检查密码。如果密码正确,则使用 LINK 命令将控制权交给另一个标签,如果不正确,则执行其他操作。
  2. 将您的 SAS 代码放在您在步骤 1 中链接到的标签中,如果它是 BASE SAS,请将其放在提交块中,在这种情况下,您还需要设置 NOSOURCE 和 NOSOURCE2 选项以防止您的程序出现在SAS 日志。
  3. 编译、保存并关闭您的 SCL 条目。
  4. 使用带有 NOSOURCE 和 NOEDIT 选项的 PROC COPY 将您的 SCL 复制到其最终目的地。

用户现在可以启动调用 SCL 的 SAS 会话。如果提供了正确的密码,SCL 代码将运行嵌入式 SAS 代码。由于 NOSOURCE 选项,用户无法窥探密码,也无法从程序中窥探程序代码。

请注意,这不是最先进的高安全密码保护!

这是阻止“错误”人员运行特定隐藏 SAS 代码的一种快速而肮脏的方法。

于 2009-07-02T09:08:49.513 回答
1

我认为你的问题的答案是“不”。

SAS 对此没有很好的解决方案。Windows 对此没有很好的解决方案。

用于密码保护的第三方软件可能是您唯一的选择。

于 2009-07-02T13:12:10.380 回答