Sample code for 30+ languages & platforms
Objective-C

Generate a Unique Key for an Email

Demonstrates how to generate a unique key for an email.

Chilkat Objective-C Downloads

Objective-C
#import <CkoEmail.h>
#import <NSString.h>

BOOL success = NO;

CkoEmail *email = [[CkoEmail alloc] init];

success = [email LoadEml: @"qa_data/eml/someEmail.eml"];
if (success != YES) {
    NSLog(@"%@",email.LastErrorText);
    return;
}

//  The ComputeGlobalKey method computes a global unique key for an email that may be used as a 
//  key for a relational database table (or anything else). 
//  The key is created by a digest-MD5 hash of the concatenation of the following header fields: 
//  Message-ID, Subject, From, Date, To. (The header fields are Q/B decoded if necessary, 
//  converted to the utf-8 encoding, concatenated, and hashed using MD5.) 
//  The 16-byte MD5 hash is returned as an encoded string (such as base64, url, hex, etc.)
//  If the bFold argument is true, then the 16-byte MD5 hash is folded to 8 bytes with an XOR to produce a shorter key.

BOOL bFold = NO;
NSString *key = [email ComputeGlobalKey2: @"hex" bFold: bFold];
NSLog(@"%@%@",@"key: ",key);