我想使用 Applescript 连接到我的远程网站。但是,我不喜欢在脚本中以纯文本形式包含密码/用户名的想法。无论如何在我的计算机上的本地脚本中编码密码?
谢谢,
埃里克
我想使用 Applescript 连接到我的远程网站。但是,我不喜欢在脚本中以纯文本形式包含密码/用户名的想法。无论如何在我的计算机上的本地脚本中编码密码?
谢谢,
埃里克
好吧,你不是第一个问这个问题的人,但你必须问自己一些问题。就像谁将使用它以及我需要保护它。
第 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
将静态数据存储为加密字符串,并在需要时解密它们。请记住,与局部变量不同,属性是持久的,因此在您的情况下不要将纯数据存储在属性中。