gpt4 book ai didi

ios - 我如何使用 objective-c 创建文件(jpeg、pdf 和 tiff)的 sha256 哈希

转载 作者:行者123 更新时间:2023-11-29 12:12:52 25 4
gpt4 key购买 nike

我使用了从 here 中获取的以下代码.

- (NSData *)sha256:(NSData *)data {

unsigned char hash[CC_SHA256_DIGEST_LENGTH];

if ( CC_SHA256([data bytes], [data length], hash) ) {

NSData *sha256 = [NSData dataWithBytes:hash length:CC_SHA256_DIGEST_LENGTH];

return sha256;
}
return nil;
}

NSData *imageHash=[self sha256:imageData];

imageHashtag = [imageHash base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];

虽然我在这方面遇到了一些问题 - 创建的散列包括/和 =,它们不应该存在。有人可以帮我弄清楚我在这里犯的错误吗?我该如何解决?

编辑:我发现了可能的问题——我正在将作为 base64 编码数据的 sha 哈希转换回另一个 base64 字符串。但是当我使用以下代码将哈希数据转换为字符串时,我只得到了 nil。那么有人可以帮我将 sha 哈希转换为字符串吗?

imageHashtag = [NSString stringWithUTF8String:[imageHash bytes]];

imagehash 确实有 32 位数据,但 imagehashtag 为 nil。

最佳答案

我们添加了以下代码来解决问题:

    NSString *hash=[sha256 description];
hash = [hash stringByReplacingOccurrencesOfString:@" " withString:@""];
hash = [hash stringByReplacingOccurrencesOfString:@"<" withString:@""];
hash = [hash stringByReplacingOccurrencesOfString:@">" withString:@""];

return hash;

解决我们的问题。

关于ios - 我如何使用 objective-c 创建文件(jpeg、pdf 和 tiff)的 sha256 哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32845083/

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