1、由于某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。
Base64编码使用和urlencode比较
base64:
1、包含A-Z a-z 0-9 和加号“+”,斜杠“/” 用来作为开始的64个数字. 等号“=”用来作为后缀用途。
2、2进制的.
3、要比源数据多33%。
4、常用于邮件。
urlencode:将除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)
请求参数传输使用base64,而不是使用urlencode,为什么?
1、部分因为base64编码后参数就不可读,而url编码英文部分是不变的
2、为了兼容网络上的一些很古老的设备, 这些古董设备只能识别 base64编码的字符
3、因为 urlencode 对二进制数据的效率不高,base64 会有效降低 %xx 的出现次数。
注释 :
1、url请求中,只对参数进行base64编码,不是对整个url进行base64编码。
2、在url请求时,会对url整体进行urlencode编码。
NSString *str = @"hello world"; NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding]; NSData *base64Data = [data base64EncodedDataWithOptions:0];
NSString *path = @"/Users/apple/Desktop/1.png"; NSData *data = [NSData dataWithContentsOfFile:path]; NSData *base64Data = [data base64EncodedDataWithOptions:0]; [base64Data writeToFile:@"/Users/apple/Desktop/base64" atomically:YES];
NSString *base64Str = [data base64EncodedStringWithOptions:0]; NSLog(@"base64Str: %@",base64Str); NSLog(@"%@ %ld base64Data: %@ %ld",data,data.length,base64Data,base64Data.length);
NSData *endata = [[NSData alloc] initWithBase64EncodedData:base64Data options:0]; [endata writeToFile:@"/Users/apple/Desktop/123.png2" atomically:YES]; UIImage *image = [UIImage imageWithData:endata]; NSLog(@"%@",image);
和MD5一样我们采取封装的办法将base64封装进了MySecurities这个类中
MySecurities.h 文件
#import Foundation/Foundation.h @interface MySecurities : NSObject +(NSString *)base64EncodingWithData:(NSData *)sourceData;//base64加密 +(id)base64EncodingWithString:(NSString *)sourceString;//base64解密 @end
base64加密
@implementation MySecurities +(NSString *)base64EncodingWithData:(NSData *)sourceData{ if (!sourceData) { //如果sourceData则返回nil,不进行加密。 return nil; } NSString *resultString = [sourceData base64EncodedStringWithOptions: NSDataBase64Encoding64CharacterLineLength]; return resultString; } ***base64解密*** +(id)base64EncodingWithString:(NSString *)sourceString{ if (!sourceString) { return nil;//如果sourceString则返回nil,不进行解密。 } NSData *resultData = [[NSData alloc]initWithBase64EncodedString:sourceString options:NSDataBase64DecodingIgnoreUnknownCharacters]; return resultData; } @end
苹果手机本地视频加密用需要用到苹果手机视频加密软件和DRMPlaye这两个软件,具体步骤如下:
1、先在电脑上百度搜索超时代苹果手机视频加密软件,然后下载安装,运行进入主界面,选择要加密的视频。
2、在加密设置中选择加密模式,设置加密密钥和文件编号(加密密钥指视频文件的加密密码,该密码将作为视频加密算法的密钥;文件编号为方便商家区分不同批次的文件,不同的文件编号将产生不同的播放密码)。
3、加密完了之后把加密后的vpy视频上传到网站或者云盘中。
4、在AppStore里下载并安装DRMPlayer软件,将视频下载到手机中,选择用DRMPlayer播放即可。
5、输入用户名和密码才能播放视频,即成功的给苹果手机本地视频加密了。
方法一:使用腾讯手机管家加密iPhone6相册
1、在手机上下载腾讯手机管家APP,下载完毕点击打开。
2、进入手机管家后,选择相册管理
3、点击加密相册并进入
4、第一次进入加密相册会要你设置一个个人密码
5、输入密码后,密码如果正确,相册会自动打开
6、进入相册后,点击添加,可以通过拍照现场获取照片,也可以从手机相册中选择手机照片
iPhone6相册加密完成,如果想要查看该相册同样是通过腾讯手机管家查看,原相册中被加密的图片自动隐藏。
方法二;使用360手机卫生加密iPhone6相册
1、安装新版的360手机卫士,安装后打开主界面的“隐私空间”
2、首次进入隐私空间时需要设置密码和安全问题
3、设置完密码后会进入隐私空间主界面。点击“程序锁”,进去后在“未加锁的程序”界面点击选择图片管理软件“图库”
4、加密完成后,当我们打开图库时会要求输入密码。
注:“已加锁的程序”界面可以对已加锁程序进行解锁等常用操作;使用360手机卫士加密图册仅仅是加密程序,也就是说如果你有两个看图程序,当你加密其中一个时,还是可以利用另外一个查看图片。
方法三:使用私密工具软件加密iPhone6相册
1、在苹果商店搜索私密工具,并下载安装
2、打开私密工具,出现密码设置提示,设置密码。
3、建立新文件夹,然后把相册的图片导入,实现安全加密
私密工具默认设置:程序最小化时间大于5秒钟,重新打开软件需要输入密码。最上面的工具栏里从左至右一次是软件程序设置、广告去除、增加相册和删除相册。
我们都知道,苹果手机的安全性还是挺高的的,锁屏之后一般人都是无法打开手机了。很多人可能都不知道苹果手机相册加密也是可以的?下面是我收集整理的苹果手机相册如何加密,希望对你有帮助。
1、在苹果商店搜索“加密相册”会出现很多免费的APP应用,这里我推荐爱相册(我在用)或者私密工具。
2、即使你的.手机越狱或者没越狱使用加密的APP是最安全也是最简单的相册加密方法,我们下载“私密工具“后第一次打开它,会出现密码设置提示,记得设置自己不常用而且不会忘记的密码。
3、默认的设置是,如果你最小化了改程序,且5秒钟没切换回来,软件自动需要重新输入密码,很人性化。
4、在软件程序设置里,可以设置图片的存储质量和安全,如果是最高级的安全设置那么你连续输入20次密码错误,就会把资料全部删除,所以建议设置成中级就可以了。
5、我们建立了一个文件夹,然后把相册的图片导入测试了下,完美保存并且安全加密。
苹果手机加密软件的具体步骤如下:
我们需要准备的材料分别是:苹果手机。
1、首先我们打开苹果手机设置中的“通用”。
2、然后我们在弹出来的窗口中点击打开访问限制页面中的“启用访问限制”。
3、然后我们在启用访问限制页面下方点击打开想要加密的软件后面的开关即可。