Applescript 中的字符 x 到 y

Characters x through y in Applescript

我正在编写一个 AppleScript,它生成一个随机数,然后将其插入到一个字符串之间,类似于密码盐(但不是真的)。这是我的代码:

    set passSalt to random number from 10000000 to 99999999
    do shell script "echo password | shasum -a 512"
    set passHash to result
    set cutHash1 to random number from 1 to 32
    set cutHash2 to random number from 33 to 64
    set cutHash3 to random number from 65 to 96
    set cutHash4 to random number from 97 to 128
    set combinedHash1 to characters cutHash1 through cutHash2 of passHash
    set combinedHash2 to characters cutHash3 through cutHash4 of passHash
    set finalHash to combinedHash1 and finalSalt and combinedHash2

它的作用是生成一个随机数,并将其插入到 密码的散列版本的两个随机位置之间。 在最后一行,它 returns

Can’t make {"1", "9", "f", "9", "c", "c", "a", "a", "4", "d", "6", "b", "3", "7", "a", "6", "a", "2", "4", "3", "d", "b", "e", "0", "f", "2", "3", "1", "3", "7", "b", "1"} into type boolean.

我做错了什么?

将最后一行中的每个“and”更改为“&”。在 Applescript 中,“and”用于组合两个布尔值,而“&”用于连接。

您可能还希望 return“finalHash”作为文本而不是列表:

set finalHash to (combinedHash1 & finalSalt & combinedHash2) as text

我假设您在代码的其他地方定义了“finalSalt”。