我想在我的项目中使用sha256,但是我有一些麻烦将objC代码重写为swift代码.请帮帮我.我使用了这个答案:如何在iOS中计算SHA-2(理想情况为SHA 256或SHA 512)哈希?
这是我的代码
var hash : [CUnsignedChar]
CC_SHA256(data.bytes, data.length, hash)
var res : NSData = NSData.dataWithBytes(hash, length: CC_SHA256_DIGEST_LENGTH)
Run Code Online (Sandbox Code Playgroud)
它给了我错误的一切,因为swift无法转换Int为CC_LONG,例如.
在objective-c中它看起来像这样:
#include <sys/xattr.h>
@implementation NSString (reverse)
-(NSString*)sha1
{
NSData *data = [self dataUsingEncoding:NSUTF8StringEncoding];
uint8_t digest[CC_SHA1_DIGEST_LENGTH];
CC_SHA1(data.bytes, (int)data.length, digest);
NSMutableString *output = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2];
for (int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++)
[output appendFormat:@"%02x", digest[i]];
return output;
}
@end
Run Code Online (Sandbox Code Playgroud)
我需要Swift这样的东西,有可能吗?
请展示工作示例.