Possible Duplicate:
MD5 algorithm in Objective C

我需要在cocoa中使用MD5技术散列一个字符串.使用的任何框架都必须能够在iphone上访问.如果可能,请提供代码.

推荐答案

首先,MD5不是加密.所以如果你在寻找加密,那你找错地方了.

但是,如果你只是想在iPhone上使用MD5散列一些内容,这应该会为你提供所需的信息:

#import <CommonCrypto/CommonDigest.h>

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]
    ];
}

//…

NSString *digest = md5(@"test");
NSLog(@"MD5 TEST %@", digest);

(从Calculate MD5 on iPhone开始)

Objective-c相关问答推荐

覆盖@property setter 和无限循环

在从 UIViewController 调用的非保留完成中引用 self 时,weakSelf/strongSelf 舞蹈真的有必要吗?

Objective C for循环中断并继续

NSTimeZone:localTimeZone 和 systemTimeZone 有什么区别?

NSTimeInterval 格式

iOS 编译错误:CDVCommandDelegateImpl没有可见的@interface 声明 Select 器执行:

CABasicAnimation 无 HUGE_VALF 无限重复?

iOS - 应用程序关闭时的核心位置和地理围栏

捕获组在 NSRegularExpression 中不起作用

iOS 6 Facebook 发布过程以remote_app_id 与存储的 id 不匹配结束

NSString:从字符串中删除 UTF-8 重音的简单方法?

Objective-C:如何从子类访问父属性?

在 iPhone 应用程序中使用 RestKit 的最佳方式

使用单独的委托/数据源时的 UITableView 问题

在我滚动之前,数据不会加载到 UITableView 中

单例释放方法产生警告?

在 DEBUG 模式下启用和禁用 NSLog

IOS 中的圆形进度条

如何更新 Core Data 中的现有对象?

在 Xcode 中制作 RGB colored颜色