有没有办法用密码保护 SAS 代码 SAS 内部?或者,如果没有,应用某种密码保护的最简单/最快的方法是什么?

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

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

有帮助吗?

解决方案

您可以尝试使用通过 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 代码。

其他提示

我想回答你的问题是“不”。

SAS不具有用于该一个很好的解决方案。 Windows不会对此有一个很好的解决方案。

有密码保护的第三方软件可能是你唯一的选择。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top