1

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

谢谢,

埃里克

4

1 回答 1

0

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

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

第 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

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

于 2013-01-30T23:45:27.143 回答