"implizite Deklaration der Funktion" Fehler in Objective-C
will ich konvertieren einen kurzen string zu md5-hash , ich habe mehrere post darüber, aber niemand arbeitete.
es ist das einfachste Beispiel, dass ich gefunden habe . ich habe diesen Fehler
implizite Deklaration der Funktion CC_MD5 ungültig ist in C99
- (NSString *) md5:(NSString *) input
{
const char *cStr = [input UTF8String];
unsigned char digest[16];
CC_MD5( cStr, strlen(cStr), digest ); //This is the md5 call
NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
[output appendFormat:@"%02x", digest[i]];
return output;
}
UPDATE
ich Hinzugefügt #importieren , es funktioniert gut, wenn ich die Methode aufrufen wie diesem :
[self md5:@"admin"];
bekomme ich die richtige md5-hash. Aber wenn ich das mache
[self md5:userId];
bekomme ich eine Fehlermeldung ,
[NSDecimalNumber UTF8String]: unrecognized selector geschickt Instanz
0x4d3e280
Aber die userId ist nicht dezimal er enthalten facebook-id , aber es ist deklariert als NSString
NSString *userId;
@property(retain,nonatomic) NSString *userId;
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da die Deklaration von CC_MD5 wurde nicht gesehen.
Gehören das Sicherheits-framework in Ihr Projekt und
Müssen Sie den CommonDigest Header-Datei von der Krypto-Bibliothek an der Spitze Ihrer Klasse, in der die MD5-Funktion definiert ist, ebenso wie das Security-Framework
Sind Sie importieren die richtige Schnittstelle, die definiert, CC_MD5?
<CommonDigest.h>