【问题标题】:Calculate the MD5 Hash of a String in Objective-C在 Objective-C 中计算字符串的 MD5 哈希
【发布时间】:2024-01-02 01:20:01
【问题描述】:

我在将以下代码转换为 Objective-C 时遇到了很多麻烦,谁能帮忙:

public String encodeString(String s) {
    try {
        // Create MD5 Hash
        MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
        digest.update(s.getBytes());
        byte messageDigest[] = digest.digest();

        Base64 b = null;

        return b.encodeToString(messageDigest,1); 

    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    }
    return "";
}

【问题讨论】:

标签: java objective-c hash base64 md5


【解决方案1】:

这应该可行:

#import <CommonCrypto/CommonDigest.h>

- (NSString *) encodeString:(NSString *) s {
   const char *cStr = [s UTF8String];
   unsigned char result[CC_MD5_DIGEST_LENGTH];
   CC_MD5(cStr, strlen(cStr), result);
   NSMutableString *result = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
   for(int i = 0; i < CC_MD5_DIGEST_LENGTH; ++i) {
      [result appendFormat:@"%02x", result[i]];
   }       
   return [NSString stringWithString:result];
}      

【讨论】:

    最近更新 更多