您的位置:首页 > 移动开发 > IOS开发

ios 数据加密

2015-08-31 10:21 796 查看
在ios api中已经封装好了MD5算法。

一下上代码

#import "NSObject+md5Encrypt.h"

#import "CommonCrypto/CommonDigest.h"

@implementation NSObject (md5Encrypt)

+(NSString *)getMd5_32Bit_String:(NSString *)srcString

{

const char *cStr = [srcString UTF8String];

unsigned char result[CC_MD5_DIGEST_LENGTH];

CC_MD5(cStr, (CC_LONG)strlen(cStr), result);

NSMutableString *hash = [NSMutableString string];

for (int i = 0; i < 16; i++) {

[hash appendFormat:@"%02x", result[i]];

}

return hash;

}

@end

这个相对来说比较简单,可在www.cmd5.com上破解。在代码中不能实现解密。

apple还提供了RSA、DES、AES等加密算法,见到国外的网站关于AES加密的算法。

//sha1加密方式

- (NSString *)getSha1String:(NSString *)srcString{

const char *cstr = [srcString cStringUsingEncoding:NSUTF8StringEncoding];

NSData *data = [NSData dataWithBytes:cstr length:srcString.length];

uint8_t digest[CC_SHA1_DIGEST_LENGTH];

CC_SHA1(data.bytes,(CC_LONG) data.length, digest);

NSMutableString* result = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2];

for(int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++) {

[result appendFormat:@"%02x", digest[i]];

}

return result;

}

//sha256加密方式

- (NSString *)getSha256String:(NSString *)srcString {

const char *cstr = [srcString cStringUsingEncoding:NSUTF8StringEncoding];

NSData *data = [NSData dataWithBytes:cstr length:srcString.length];

uint8_t digest[CC_SHA256_DIGEST_LENGTH];

CC_SHA1(data.bytes, (CC_LONG)data.length, digest);

NSMutableString* result = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH * 2];

for(int i = 0; i < CC_SHA256_DIGEST_LENGTH; i++) {

[result appendFormat:@"%02x", digest[i]];

}

return result;

}

//sha384加密方式

- (NSString *)getSha384String:(NSString *)srcString {

const char *cstr = [srcString cStringUsingEncoding:NSUTF8StringEncoding];

NSData *data = [NSData dataWithBytes:cstr length:srcString.length];

uint8_t digest[CC_SHA384_DIGEST_LENGTH];

CC_SHA1(data.bytes, (CC_LONG)data.length, digest);

NSMutableString* result = [NSMutableString stringWithCapacity:CC_SHA384_DIGEST_LENGTH * 2];

for(int i = 0; i < CC_SHA384_DIGEST_LENGTH; i++) {

[result appendFormat:@"%02x", digest[i]];

}

return result;

}

//sha512加密方式

- (NSString*) getSha512String:(NSString*)srcString {

const char *cstr = [srcString cStringUsingEncoding:NSUTF8StringEncoding];

NSData *data = [NSData dataWithBytes:cstr length:srcString.length];

uint8_t digest[CC_SHA512_DIGEST_LENGTH];

CC_SHA512(data.bytes, (CC_LONG)data.length, digest);

NSMutableString* result = [NSMutableString stringWithCapacity:CC_SHA512_DIGEST_LENGTH * 2];

for(int i = 0; i < CC_SHA512_DIGEST_LENGTH; i++)

[result appendFormat:@"%02x", digest[i]];

return result;

}

这里是代码 http://download.csdn.net/detail/w824585608/9066899
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: