43 votes

Création de hachage SHA1 à partir de NSString

Comment puis-je créer un SHA1 à partir d'un NSString .

Disons que NSString est configuré comme :

 NSString *message = @"Message";

Je peux utiliser PHP pour créer un hachage SHA1 avec sha($message) . Mais malheureusement, cela ne fonctionne pas comme ça dans Objective-C.

15voto

Alex Points 5764

J'aime bien la réponse d'hypercrypt, mais j'ai été encouragé à publier mon commentaire.

Vous pouvez regarder CC_SHA1 , ou cette question SO liée.

13voto

virata Points 1161
- (NSString *)sha1:(NSString *)str {
const char *cStr = [str UTF8String];
unsigned char result[CC_SHA1_DIGEST_LENGTH];
CC_SHA1(cStr, strlen(cStr), result);
NSString *s = [NSString  stringWithFormat:
           @"%02x%02x%02x%02x%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],
           result[16], result[17], result[18], result[19]
           ];

return s;
}

5voto

atreat Points 1434

J'aime tellement la réponse d'hypercrypt que je l'ai emballée dans un petit dépôt git. Découvrez la catégorie NSString sur Github.

N'hésitez pas non plus à y ajouter tout autre bon NSString Crypto

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X