iOS开发-字符串base64编码与解码
在开发总经常遇到需要将字符串进行base64加密与解密。Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。
这里使用的是GTMBase64
在Podfile中引入
pod 'GTMBase64'
一、将字符串进行base64加密与解密
这里创建util实现字符串进行base64加密与解密
代码如下:
#import "SDBase64Util.h"
#import "CommonCrypto/CommonDigest.h"
#import "GTMBase64.h"@implementation SDBase64Util/**对string进行base64加密@param input 未加密的字符串@return base64加密后的字符串*/
+ (NSString *)encodeBase64String:(NSString *)input {if (!(input && (input.length > 0))) {return nil;}NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];data = [GTMBase64 encodeData:data];NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];return base64String;
}/**对string进行base64解密@param input input 密的字符串@return base64解密后的字符串*/
+ (NSString *)decodeBase64String:(NSString *)input {if (!(input && (input.length > 0))) {return nil;}NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];data = [GTMBase64 decodeData:data];NSString *base64string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];return base64string;
}/**对data进行base64解密@param input 加密的字符串@return base64解密后的data数据*/
+ (NSData *)decodeBase64DataFromString:(NSString *)input {if (!(input && (input.length > 0))) {return nil;}NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];data = [GTMBase64 decodeData:data];return data;
}/**对data进行base64加密@param input 未加密的字符串@return base64加密后的字符串*/
+ (NSString *)encodeBase64Data:(NSData *)input {if (!(input && (input.length > 0))) {return nil;}NSData *data = [GTMBase64 encodeData:input];NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];return base64String;}/**对data进行base64解密@param input 加密的字符串@return base64解密后的字符串*/
+ (NSString *)decodeBase64Data:(NSData *)input {if (!(input && (input.length > 0))) {return nil;}NSData *data = [GTMBase64 decodeData:input];NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];return base64String;
}@end
三、小结
iOS开发-字符串base64编码与解码。将字符串进行base64加密与解密。
学习记录,每天不停进步。