【问题标题】:MD5 on Mac application?Mac应用程序上的MD5?
【发布时间】:2011-08-21 23:03:53
【问题描述】:

我想在我的 Mac 应用程序中加密使用 MD5 散列一些字符串。

我在 Google 上搜索过,但它不断向我展示如何使用 iPhone 应用程序来实现这一点,例如 MD5 algorithm in Objective CUsing MD5 hash on a string in cocoa?...

【问题讨论】:

  • MD5 不是加密算法;这是一个哈希。你不能用它加密。
  • 啊,对不起,我就是这个意思。如何制作 MD5 哈希?

标签: objective-c xcode cocoa md5


【解决方案1】:

MD5 不是加密!。请看http://en.wikipedia.org/wiki/Cryptographic_hash_function

您的所有示例实际上都适用于 OS X。CommonCrypto 是 libSystem 的一部分。对于更完整的示例,我建议使用 CocoaWithLove 教程(和示例代码!)

http://cocoawithlove.com/2009/07/hashvalue-object-for-holding-md5-and.html

【讨论】:

  • CommonCrypto 不是基金会的一部分;它是 libSystem 的一部分。除了这种差异之外,这两个库都可以在两个操作系统上使用。
【解决方案2】:

MD5 不是加密,它只是一个从流(可以是您的文本、图像、声音、数据等)中计算出来的唯一字符串(通常存储在哈希表中)

这是我使用的示例:

#import <CommonCrypto/CommonDigest.h>

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

现在只需将md5 var 用于您的目的:)

【讨论】:

    猜你喜欢
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多