gpt4 book ai didi

objective-c - 从 NSString 创建 SHA1 哈希

转载 作者:IT老高 更新时间:2023-10-28 11:41:12 25 4
gpt4 key购买 nike

如何从 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 并使用旧方法,这可能是您进行更改的提示:

Command CompileSwift failed with a nonzero exit code

关于objective-c - 从 NSString 创建 SHA1 哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7570377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com