2011年9月6日火曜日

【メモ】Objective-Cでハッシュ関数を使う(SHA256)

Objective-Cでハッシュ関数使う必要が出てきたので調べてみた。


  1. -(NSString*) sha256:(NSString *)text{  
  2.    
  3. const char *s=[text cStringUsingEncoding:NSASCIIStringEncoding];  
  4. NSData *keyData=[NSData dataWithBytes:s length:strlen(s)];  
  5.    
  6. uint8_t digest[CC_SHA256_DIGEST_LENGTH]={0};  
  7. CC_SHA256(keyData.bytes, keyData.length, digest);  
  8. NSData *out =   
  9.       [NSData dataWithBytes:digest length:CC_SHA256_DIGEST_LENGTH];  
  10. NSString *hash=[out description];  
  11. hash = [hash stringByReplacingOccurrencesOfString:@" " withString:@""];  
  12. hash = [hash stringByReplacingOccurrencesOfString:@"<" withString:@""];  
  13. hash = [hash stringByReplacingOccurrencesOfString:@">" withString:@""];  
  14. return hash;  
  15.   
  16. }  

上のソースを使う為にimportを追加する必要があります。

#import <CommonCrypto/CommonHMAC.h>

0 件のコメント:

コメントを投稿