base64加密

base64 编码是现代密码学的基础

基本原理

原本是 8个bit 一组表示数据,改为 6个bit一组表示数据,不足的部分补零,每 两个0 用 一个 = 表示
用base64 编码之后,数据长度会变大,增加了大约 1/3 左右.(8-6)/6
可进行反向解密
Xcode7.0 之后出现的
编码有个非常显著的特点,末尾有个 = 号

将文件进行加密

// 获取需要加密文件的二进制数据
NSData *data = [NSData dataWithContentsOfFile:@"/Users/wangpengfei/Desktop/photo/IMG_5551.jpg"];

// 或 base64EncodedStringWithOptions
NSData *base64Data = [data base64EncodedDataWithOptions:0];

// 将加密后的文件存储到桌面
[base64Data writeToFile:@"/Users/wangpengfei/Desktop/123" atomically:YES];

将文件进行解密

// 获得加密后的二进制数据
NSData *base64Data = [NSData dataWithContentsOfFile:@"/Users/wangpengfei/Desktop/123"];

// 解密 base64 数据
NSData *baseData = [[NSData alloc] initWithBase64EncodedData:base64Data options:0];

// 写入桌面
[baseData writeToFile:@"/Users/wangpengfei/Desktop/IMG_5551.jpg" atomically:YES];

利用终端命令进行base64运算

// 将文件 meinv.jpg 进行 base64运算之后存储为 meinv.txt
base64 meinv.jpg -o meinv.txt

// 讲meinv.txt 解码生成 meinv.png
base64 -D meinv.txt -o meinv.png

// 将字符串 "hello" 进行 base 64 编码 结果:aGVsbG8=cho "hello" | base64

// 将 base64编码之后的结果 aGVsbG8= 反编码为字符串
echo aGVsbG8= | base64 -D

你可能感兴趣的:(数据加密)