- (NSData*) sha256:(NSString *)stringpass
{
NSData *data = [self hexStrToNSData:stringpass];
uint8_t digest[CC_SHA256_DIGEST_LENGTH];
CC_SHA256(data.bytes,data.length, digest);
NSData *strForHas=[[NSData alloc]initWithBytes:digest length:CC_SHA256_DIGEST_LENGTH];
return strForHas;
}
//十六進位字串轉bytes
-(NSData *) hexStrToNSData:(NSString *)hexStr
{
NSMutableData* data = [NSMutableData data];
int idx;
for (idx = 0; idx+2 <= hexStr.length; idx+=2) {
NSRange range = NSMakeRange(idx, 2);
NSString* ch = [hexStr substringWithRange:range];
NSScanner* scanner = [NSScanner scannerWithString:ch];
unsigned int intValue;
[scanner scanHexInt:&intValue];
[data appendBytes:&intValue length:1];
}
return data;
}