【Objective-C】Base64

来源:互联网 发布:网络诈骗去哪里举报 编辑:程序博客网 时间:2024/05/20 06:56

       base64算法能把任何二进制数据转换成文本文件, 二进制数据默认是按照8位一字节进行编码的,base64编码则是按照特定的字符表按照6位一分,最终得到的数值。每差一位,末位补两个0.对应字符表中的=号。所以base64编码比较容易辨认,如果文本最后面是等号,就有很大可能是base64编码。

简介
  • 是网络上使用最广泛的编码系统,能够将任何二进制数据,转换成只有 65 个字符组成的文本文件
  • a~z,A~Z,0~9,+,/,=
  • Base 64 编码后的结果能够反算,不够安全
  • Base 64 是所有现代加密算法的基础算法

存在的问题

  1. 使用 Base64 不能直接看到用户密码的明文
  2. 但是 Base64 的算法是公开的,并且算法可逆,安全性并不好
- (void)viewDidLoad {    [super viewDidLoad];    // Do any additional setup after loading the view, typically from a nib.    [self loadUserInfo];       // 测试base64    NSLog(@"编码 %@", [self base64Encode:@"A"]);    NSLog(@"解码 %@", [self base64Decode:@"QQ=="]);}#pragma mark - base64///  编码:A => QQ==- (NSString *)base64Encode:(NSString *)string {    // 1. 将字符串转换成二进制数据    NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];       // 2. 利用 iOS 7.0 的方法,直接 base64 编码    return [data base64EncodedStringWithOptions:0];}///  解码:QQ== => A- (NSString *)base64Decode:(NSString *)string {    // 1. 将base64编码后的字符串,解码成二进制数据    NSData *data = [[NSData alloc] initWithBase64EncodedString:string options:0];       // 2. 返回解码后的字符串    return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];}





原创粉丝点击