我正在 Xcode Playground 上玩弄 REST API,我需要用 SHA1 散列一些东西。我找到的所有解决方案都依赖于 Common Crypto,而这似乎不能直接在 Swift playground 中使用。有没有办法在 Swift playground 中对某些东西进行 SHA1?
最佳答案
一个快速而肮脏的解决方案:
func SHA1HashString(string: String) -> String {
let task = NSTask()
task.launchPath = "/usr/bin/shasum"
task.arguments = []
let inputPipe = NSPipe()
inputPipe.fileHandleForWriting.writeData(string.dataUsingEncoding(NSUTF8StringEncoding)!)
inputPipe.fileHandleForWriting.closeFile()
let outputPipe = NSPipe()
task.standardOutput = outputPipe
task.standardInput = inputPipe
task.launch()
let data = outputPipe.fileHandleForReading.readDataToEndOfFile()
let hash = String(data: data, encoding: NSUTF8StringEncoding)!
return hash.stringByReplacingOccurrencesOfString(" -\n", withString: "")
}
关于swift-playground - 有没有办法在 Swift playground 中使用 Common Crypto?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33032758/