gpt4 book ai didi

macos - 获取文件的 md5/sha1 校验和

转载 作者:行者123 更新时间:2023-12-01 20:00:28 25 4
gpt4 key购买 nike

我在 Objective C 中找到了两个计算 md5 和 sha 1 的函数。代码如下:

-(void)md5HexDigest:(NSString*)input {
NSData *data = [input dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

uint8_t digest[CC_MD5_DIGEST_LENGTH];

CC_MD5(data.bytes, data.length, digest);

NSMutableString* ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];

for(int i = 0; i<CC_MD5_DIGEST_LENGTH; i++) {
[ret appendFormat:@"%02x",digest[i]];
}
NSLog (@"%@",ret);
}

-(void) SHA1digest:(NSString*)input{
NSData *data = [input dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
uint8_t digest[CC_SHA1_DIGEST_LENGTH];
CC_SHA1(data.bytes, 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]];

NSLog (@"%@", output);
}

我得到这些校验和:

2010-11-04 20:38:01.962 MD5 Counter[88118:a0f] c8142be71e8ed4625c4f27eb573835f5
2010-11-04 20:38:01.964 MD5 Counter[88118:a0f] ba7ff5f68edef52dd89a92c075b88f247f3ef9aa

但是,实际金额是:SHA1:1c0d5ea45464e336fcb38c644dc125c3a16b5493

MD5:e8f4d590c8fe62386844d6a2248ae609

哪里错了?请帮助我!

最佳答案

您应该使用 CommonCrypto C API。这些功能记录在 man pages 的第 3CC 节中。 。特别是CC_md5CC_sha1您会对函数族感兴趣。

关于macos - 获取文件的 md5/sha1 校验和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4098716/

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