CommonCrypto 不再是 iPhone SDK 的一部分 - 我还能在哪里轻松获得 MD5 函数?

发布于 2024-08-13 09:29:21 字数 409 浏览 1 评论 0原文

正如你们中的许多人可能已经知道的那样,CommonCrypto 不再包含在 iPhone SDK 中(与 3.0 一样)。

还有哪里可以轻松获得 MD5 函数?我是否必须将 OpenSSL 编译到我的项目中才能获得 MD5?

一些说明:

  • 这不是为了安全,
  • 这将与需要字符串 MD5 摘要的 API 一起使用。我无法控制这个 API。

如果我可以使用 SHA256,我会的。我完全赞成继续前进,但我无法更改 API。


编辑

看来我错了。 CommonCrypto 仍然在 iPhone SDK 中,只是不像以前那么明确。我正在寻找要包含在我的项目中的 libCrypto 库。我不知道您可以包含 CommonCrypto 标头而不链接到库......

So as many of you may already know, CommonCrypto isn't included in the iPhone SDK anymore (as on 3.0).

Where else can I easily get hold of an MD5 function? Am I going to have to compile OpenSSL into my project just to get MD5??

A few clarifications:

  • This isn't for security
  • This is going to be used with an API that requires an MD5 digest of a string. I have no control over this API.

If I could use SHA256, I would. I'm all for moving forward, but I can't change the API.


Edit

It seems I was mistaken. CommonCrypto is still in the iPhone SDK, just not explicity as it used to be. I was looking for the libCrypto library to include in my project. I was unaware that you could include the CommonCrypto headers without linking against the library...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉宸 2024-08-20 09:29:21

你确定它不包括在内吗?我使用以下有效代码在设备上编译了 3.0 版本的应用程序:

#import <CommonCrypto/CommonDigest.h>

#define CC_MD5_DIGEST_LENGTH 16   /* digest length in bytes */

- (NSString *)md5:(NSString *)str { 
    const char *cStr = [str UTF8String];
    unsigned char result[CC_MD5_DIGEST_LENGTH]; 
    CC_MD5(cStr, strlen(cStr), result); 
    return [NSString stringWithFormat: @"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",         
            result[0], result[1], result[2], result[3],
            result[4], result[5], result[6], result[7],
            result[8], result[9], result[10], result[11],
            result[12], result[13], result[14], result[15]];    
}

Are you sure its not included? I have apps compiled on the device for 3.0 using the following code that works:

#import <CommonCrypto/CommonDigest.h>

#define CC_MD5_DIGEST_LENGTH 16   /* digest length in bytes */

- (NSString *)md5:(NSString *)str { 
    const char *cStr = [str UTF8String];
    unsigned char result[CC_MD5_DIGEST_LENGTH]; 
    CC_MD5(cStr, strlen(cStr), result); 
    return [NSString stringWithFormat: @"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",         
            result[0], result[1], result[2], result[3],
            result[4], result[5], result[6], result[7],
            result[8], result[9], result[10], result[11],
            result[12], result[13], result[14], result[15]];    
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文