我只是尝试使用AppleScript计算字符串的MD5:
set hash_string to do shell script "echo -n hi | md5"
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我实际上用"hi"替换了传递给shell的字符串作为测试.AppleScript报告:
tell current application
do shell script "echo -n hi | md5"
--> "5ea3a74c5a5c60abd09da8c5f85fa0a5"
end tell
Run Code Online (Sandbox Code Playgroud)
直接在终端中运行相同的命令会导致:
% echo -n hi | md5
49f68a5c8493ec2c0bf489821c21fc3b
Run Code Online (Sandbox Code Playgroud)
虽然命令是相同的,但计算的散列是不同的.显然,在AppleScript中传递了其他字符,但我似乎无法弄清楚它们是什么.我感谢任何指导.