如何在iPhone中生成UDID的MD5哈希

时间:2013-01-28 06:38:14

标签: xcode md5

我已经尝试了很多,但却无法弄清楚如何生成MD5 hash的{​​{1}} iPhone设备代码。

原因:我必须使用该哈希作为后台密码才能登录网站。

请帮忙。

提前致谢。

2 个答案:

答案 0 :(得分:5)

您可以尝试以下代码将UDID字符串转换为MD5。

 #import <CommonCrypto/CommonDigest.h>

NSString *udid = [[UIDevice currentDevice] uniqueIdentifier];
NSString *hashStr = [self converIntoMD5:udid];



- (NSString *)convertIntoMD5:(NSString *) string{
    const char *cStr = [string UTF8String];
    unsigned char digest[16];

    CC_MD5( cStr, strlen(cStr), digest ); // This is the md5 call

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

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

答案 1 :(得分:1)

uniqueIdentifier iOS(2.0及更高版本)不推荐使用:请根据需要使用此类的identifierForVendor属性或advertisingIdentifier类的ASIdentifierManager属性,或使用{{1 UUID类的方法创建NSUUID并将其写入用户默认数据库。