iOS base64编码 MD5 加密
//创建一个Base64编码的NSString对象 //字符串 转二进制 NSData *nsdata = [@"iOS Developer Tips encoded in Base64" dataUsingEncoding:NSUTF8StringEncoding]; //二进制64位加密 得到的字符串 NSString *base64Encoded = [nsdata base64EncodedStringWithOptions:0]; NSLog(@"Encoded: %@", base64Encoded); //64位加密的字符串 转换成二进制 NSData *nsdataFromBase64String = [[NSData alloc] initWithBase64EncodedString:base64Encoded options:0]; //Decoded 64位 二进制 解码 NSString *base64Decoded = [[NSString alloc] initWithData:nsdataFromBase64String encoding:NSUTF8StringEncoding]; NSLog(@"Decoded: %@", base64Decoded);
//使用Base64编码一个NSData对象 // Create NSData object NSData *dataTake2 = [@"iOS Developer Tips" dataUsingEncoding:NSUTF8StringEncoding]; // Convert to Base64 data NSData *base64Data = [dataTake2 base64EncodedDataWithOptions:0]; NSLog(@"%@", [NSString stringWithUTF8String:[base64Data bytes]]); // Now convert back from Base64 NSData *nsdataDecoded = [[NSData alloc] initWithBase64EncodedData:base64Data options:0]; NSString *str = [[NSString alloc] initWithData:nsdataDecoded encoding:NSUTF8StringEncoding]; NSLog(@"%@", str);
使用情景: 加密 为数据交互的安全,比如向服务器上传数据时候 要求用64位编码 或者账号密码之类的要求 编码 甚至MD5加密
有的 请求网络url也会有相应的编码 加密要求 还有常用的中文网址路径转换URLEncode 的类方法
@interface NSObject (URLEncoding) /** * Returns a representation of the object as a URLEncoded string * * @returns A UTF-8 encoded string representation of the object */ - (NSString *)URLEncodedString; @end #import "NSObject+URLEncoding.h" @implementation NSObject (URLEncoding) - (NSString *)URLEncodedString { NSString *string = [NSString stringWithFormat:@"%@", self]; NSString *encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)string, NULL, (CFStringRef)@"!*‘();:@&=+$,/?%#[]", kCFStringEncodingUTF8); return [encodedString autorelease]; }
上面这个方法 也可以自己写成类方法调用 有的第三方框架中也会带
该方法防止中文网址转义时候出现乱码多余的%等字符比较好用
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。