bjective-c 加密 MD5 解密MD5
2018-07-20 来源:open-open
main.m文件
// main.m
// 加密 MD5
#import <Foundation/Foundation.h>
#import "NSString+Extend.h"
int main(int argc, const char * argv[]) {
NSLog(@"%@",[@"123456" md5]);
//IOS 以后提供了 base64 的转码方式
NSString * password=@"123456";
NSData *passwordData=[password dataUsingEncoding:NSUTF8StringEncoding];
NSString * result=[passwordData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
NSLog(@" base64编码: %@",result);
//解码
NSData * decodeData=[[NSData alloc]initWithBase64EncodedString:result options:0];
NSString * decodestr=[[NSString alloc]initWithData:decodeData encoding:NSASCIIStringEncoding];
NSLog(@" base64解码: %@",decodestr);
return 0;
}
.h文件 加密解密(NSString扩展类)
——————————————————————————————————————————————
#import <Foundation/Foundation.h>
@interface NSString(Extend)
-(NSString * )md5;
@end
----————————————————————————————————————————————
.m文件
#import "NSString+Extend.h"
//引入头文件
#import <CommonCrypto/CommonDigest.h>
@implementation NSString(Extend)
-(NSString * )md5{
//转换成C语言的字符串
const char * cstr=[self UTF8String];
//MD5加密的结果是128位,需要开辟16字节的空间
unsigned char result[16];
//调用函数
CC_MD5(cstr, (unsigned int)strlen(cstr), result);
//通过上面这个方法获取的MD5是一个16个字符串的数组----> 32位的MD5
NSMutableString * mustr=[NSMutableString stringWithCapacity:10];
for (int i=0; i<16; i++) {
[mustr appendString:[NSString stringWithFormat:@"%02X",result[i]]];
}
return mustr;
}
@end
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
下一篇: json 序列化与反序列化C#类