ios Base64编解码工具类及使用_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > ios Base64编解码工具类及使用

ios Base64编解码工具类及使用

 2014/10/8 17:50:22  wx0123  程序员俱乐部  我要评论(0)
  • 摘要:为了避免明码传递http内容,可以用base64编码后传输,收到方再解码,也方便了2进制数据的字符串式传输。对于ios来说,google给提供了一个很好的工具类,方便进行base64编解码,当然也可以用openssl来进行,但这东西相对来说比较麻烦。google给提供了3个文件就够了。官网地址是:http://code.google.com/p/google-toolbox-for-mac/这里面有很多宝贝,如果自己找很难找到这3个文件,所以我加到附件里。解压后放到ios工程中即可使用
  • 标签:使用 iOS 工具 ASE

为了避免明码传递http内容,可以用base64编码后传输,收到方再解码,也方便了2进制数据的字符串式传输。

 

对于ios来说,google给提供了一个很好的工具类,方便进行base64编解码,当然也可以用openssl来进行,但这东西相对来

 

说比较麻烦。google给提供了3个文件就够了。 

官网地址是:

 

http://code.google.com/p/google-toolbox-for-mac/

 

这里面有很多宝贝,如果自己找很难找到这3个文件,所以我加到附件里。解压后放到ios工程中即可使用。

 使用方法简介:

 查看GTMBase64.h头文件里面都有详细的函数说明,这里只举两个例子 

1.编码,即base64加密:

    使用函数: 

// decodeData:

//

/// Base64 decodes contents of the NSData object.

//

/// Returns:

///   A new autoreleased NSData with the decoded payload.  nil for any error.

//

+(NSData *)decodeData:(NSData *)data; 

使用方法示例: 

NSString *input =@"Hello World";

NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];

    data = [GTMBase64 encodeData:data];

    NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

NSLog(@"base64String =%@ ", base64String); 

如果成功的话,加密后的数据打印出来是:SGVsbG8sIFdvcmxk 

这样就可以从http中传输了。 

 

2.解码,即base64解密:

 

这里使用函数:

 

 

// decodeString:

//

/// Base64 decodes contents of the NSString.

//

/// Returns:

///   A new autoreleased NSData with the decoded payload.  nil for any error.

//

+(NSData *)decodeString:(NSString *)string;

 

使用方法是: 

   NSData *data =[GTMBase64 decodeString:@"SGVsbG8sIFdvcmxk"];

 

这样就将NSString类型的原文解析成了NSData类型的数据了,可以用

 

 NSLog(@"data = %@",data);

 

   打印出来,log输出16进制的例如: 

 

Base64Test[5670:c07] data = <01000a6e 735f766f 645f3030 3102005c 81705900 00000000 005c8020 0101124c 803a0001 18beee29 11aef543 7a02e35c 012769ad 08619971 50e57f2c>

 

 

如果把data用NSString类型输出的话,内容是Hello, World

发表评论
用户名: 匿名