2017-05-03 40 views
0

當我使用MD5加密str,我得到警告:當我加密我得到隱式轉換字符串失去整數精度:「無符號長」到「CC_LONG」(又名「無符號整型」)

隱式轉換失去了整數精度:'unsigned long'到'CC_LONG'(又名'unsigned int')。

+ (NSString *)md5To32bit:(NSString *)str { 

    const char *cStr = [str UTF8String]; 
    unsigned char digest[CC_MD5_DIGEST_LENGTH]; 
    CC_MD5(cStr, strlen(cStr),digest); // here I get the warning. 
    NSMutableString *result = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; 
    for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) 
     [result appendFormat:@"%02x", digest[i]]; 
    return result; 
} 

回答

1

您可以轉換strlen(cStr)CC_LONG避免此警告:

CC_MD5(cStr,(CC_LONG)strlen(cStr), digest); 
相關問題