【发布时间】:2016-12-31 06:11:48
【问题描述】:
我使用以下代码创建了一个 SHA512 哈希:
func createSHA512(source:String) -> String {
let rawstr:NSString = NSString(format: "%@%@", source, "xxxxxxxxxxxxxx");
let data = rawstr.dataUsingEncoding(NSUTF8StringEncoding)!;
var digest = [UInt8](count:Int(CC_SHA512_DIGEST_LENGTH), repeatedValue: 0);
CC_SHA512(data.bytes, CC_LONG(data.length), &digest);
let output = NSMutableString(capacity: Int(CC_SHA512_DIGEST_LENGTH));
for byte in digest {
output.appendFormat("%02x", byte);
}
return output as String;
}
是否可以用 Swift 2 将这个 Hash 解密为原始字符串?
【问题讨论】:
-
散列的真正目的是它不能被撤消(未散列,解密)。这不是一种加密方法。
-
这只能通过蛮力实现,或者如果您有一个包含散列及其已知“原件”的彩虹表。您无法解密哈希。
-
decrypt sha hash的 SO 搜索(当前)有 351 次点击。我无法想象他们都没有回答你的问题。
标签: ios objective-c swift sha