iOS开发-字符串base64编码与解码

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加密与解密。

学习记录,每天不停进步。

你可能感兴趣的:(移动开发,iphone开发,Objective-c,ios,cocoa,macos,Base64,objective-c)