J'ai essayé d'utiliser le cryptage MD5 pour l'application iPhone que je suis en train de créer. J'ai créé un fichier md5.m avec le code suivant (copié à partir StackOverflow):J'ai des problèmes pour appeler la fonction MD5 (Obejctive-C, iPhone)
#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]
] lowercaseString];
}
J'ai ensuite essayé d'appeler la fonction (dans un fichier .m différent) en utilisant:
NSString *digest = md5(@"password");
Mais pour une raison pour laquelle je continue d'avoir l'erreur "Expression attendue avant 'mad5'" ... Qu'est-ce que je ne me trompe pas?
Merci pour la réponse. J'ai fait l'import, mais mon installation de fichier d'en-tête est un peu différente: - (NSString *) md5Return: (NSString *) str; – tyng
Voir mon message édité. La méthode dans le fichier .h doit toujours correspondre à la méthode dans le fichier .m. –
Totalement travaillé! Merci beaucoup :) – tyng