保护AppleScript脚本

时间:2013-01-30 19:37:28

标签: security applescript

我想使用Applescript连接到我的远程网站。但是,我不喜欢在我的脚本中以纯文本形式提供密码/用户名的想法。无论如何要在我的计算机上的本地脚本中编码密码?

谢谢,

埃里克

1 个答案:

答案 0 :(得分:0)

嗯,你不是第一个提出这个问题的人,但你必须问自己一些问题。就像谁将要使用它以及我需要保护它一样。

第1步: 为确保您的代码受到保护,您应该保存两种不同类型的AppleScripts。第一个是给你的,而你只是。此版本已编译,但可以再次使用脚本编辑器打开,以便您可以看到源代码。第二个是一个只运行的脚本,它与第一个版本非常相似,但你无法再在脚本编辑器中将其作为文档来打开它来查看它的源代码。

第2步: 你不想要的第二件事是有关于用户凭证的静态文本,因为即使它被编译,你也可以看到静态文本。通常你不会看到它们,但是当用户凭证是邮件地址时,它很容易找到。但在我们解决此问题之前,您是否认为有人能够从编译的AppleScript代码中找到用户凭据?如果是这样,那么最简单的编码方法是为Unicode值添加一定的值:

property eusn : "¨®¦ÅÞÞÍÉ»ÅÞÞÍÉ"
property epwd : "ÔÅ××ÛÓÖÈ"

set usn to simpleDecryption(eusn)
set pwd to simpleDecryption(epwd)

on simpleEncryption(_str)
    set x to id of _str
    repeat with c in x
        set contents of c to c + 100
    end repeat
    return string id x
end simpleEncryption

on simpleDecryption(_str)
    set x to id of _str
    repeat with c in x
        set contents of c to c - 100
    end repeat
    return string id x
end simpleDecryption

将静态存储为加密字符串,并在需要时将其解密。请记住,属性是持久的,与局部变量不同,因此不要将纯数据存储在属性中的属性中。