2009-05-08 12 views

答えて

5

これは私が私のアプリからそれを削除する前に、私はそれをやった方法です:

#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]; 
} 

それは私がこれを自分で書いていないことを追加するだけ公正です。私はインターネット上のどこかでそれを見つけましたが、どこに記録しませんでした。

4

必要なMD5ハッシュを生成するために使用したコードは、CommonCryptoサブフォルダのmy github repositoryです。 CommonCryptoの使い方や、16進バイト値、64進数などの文字列の書式設定方法を示す類似のルーチンがたくさんあります。

文字列を生成するより良い方法は、

上記のコードを使用する場合は、%02Xを%02xに変更し、-lowercaseString呼び出しを完全に控えておくことをおすすめします.16進値小文字で始まります。

関連する問題