iOS 安全的Base64编码和解码

最近做个项目需要拿后台的Base64编码数据解码,发现后端加密的数据前端端不能解密的情况.发现后台是用safe_url加密的.最后解决结果如下:

#pragma - 将saveBase64编码中的"-","_"字符串转换成"+","/",字符串长度余4倍的位补"="
- (NSString*)safeUrlBase64Decode:(NSString*)safeUrlbase64Str
{
    // '-' -> '+'
    // '_' -> '/'
    // 不足4倍长度,补'='
    NSMutableString * base64Str = [[NSMutableString alloc]initWithString:safeUrlbase64Str];
    base64Str = (NSMutableString * )[base64Str stringByReplacingOccurrencesOfString:@"-" withString:@"+"];
    base64Str = (NSMutableString * )[base64Str stringByReplacingOccurrencesOfString:@"_" withString:@"/"];
    NSInteger mod4 = base64Str.length % 4;
    if(mod4 > 0)
        [base64Str appendString:[@"====" substringToIndex:(4-mod4)]];
    NSLog(@"Base64原文:%@", base64Str);
    return base64Str;
    
}

这个返回的结果就是正常的base64的解码数据了.

你可能感兴趣的:(iOS 安全的Base64编码和解码)