導入 IOS自帶的密碼庫就能夠了。算法
#import <CommonCrypto/CommonDigest.h>
//SHA1加密 -(NSString *)Sha:(NSString *)string{ const char *cstr = [string UTF8String]; NSData *data = [NSData dataWithBytes:cstr length:string.length]; uint8_t digest[CC_SHA1_DIGEST_LENGTH]; CC_SHA1(data.bytes, (CC_LONG)data.length, digest); NSMutableString *output = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH *2]; for (int i = 0; i<CC_SHA1_DIGEST_LENGTH; i++) { [output appendFormat:@"%02x",digest[i]]; } return output; }
+(NSString *)ShainitWhit:(NSString *)string{ Helper* shaHelper = [[Helper alloc]init]; return [shaHelper Sha:string]; }
//MD5加密 -(NSString *)MD:(NSString *)string{ const char *cstr = [string UTF8String]; NSData *data = [NSData dataWithBytes:cstr length:string.length]; unsigned char digest[CC_MD5_DIGEST_LENGTH]; CC_MD5(data.bytes, (CC_LONG)data.length, digest); 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; }
+(NSString *)MDinitWhit:(NSString *)string{ Helper *mdHelper = [Helper new]; return [mdHelper MD:string]; }
MD5,SHA-1,SHA-224,SHA-256,SHA-384,SHA-512,以及它們對應的HMAC算法,都屬於散列算法,又叫摘要算法,單 向運算,不可逆,因此無法解密。可是能夠經過暴力方式破解(按順序產生字符串一個個試),固然會花很是長的時間,並且這個試出來的結果也不必定是原結果, 由於的確存在多個源數據能計算出相同散列結果的狀況。app