如何从NSString
创建SHA1.
假设NSString设置为:
NSString *message = @"Message";
我可以使用PHP创建一个包含sha($message)
的SHA1哈希.但不幸的是,在Objective-C中并不是这样.
如何从NSString
创建SHA1.
假设NSString设置为:
NSString *message = @"Message";
我可以使用PHP创建一个包含sha($message)
的SHA1哈希.但不幸的是,在Objective-C中并不是这样.
我在NSString的一个类别中有这个(售价https://github.com/hypercrypt/NSString-Hashes):
#import <CommonCrypto/CommonDigest.h>
...
- (NSString *)sha1
{
NSData *data = [self dataUsingEncoding:NSUTF8StringEncoding];
uint8_t digest[CC_SHA1_DIGEST_LENGTH];
CC_SHA1(data.bytes, (CC_LONG)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;
}
从Xcode 10.0开始,您应该使用import CommonCrypto
,因为它现在在Swift中本机可用!如果您最近已迁移到Xcode 10.0并使用旧方法,这可能是您进行更改的提示:
命令CompileSwift失败,退出代码为非零