iOS加密方式及解压缩文件
Base64加密方式
Base64是一种加密方法,可逆的加密。
Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符。/ + 填充 =
echo -n BC|base64
base64 ABC -o 123.txt
base64 -D 123.txt -o uio.txt
Base64 iOS7之后加入系统库里的
类方法加锁,对象方法解密
- 字符串转化为base64字符串
NSString * string = @"ABC";
NSData * data = [string dataUsingEncoding:NSUTF8StringEncoding];
NSString * base64String = [data
base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
NSLog(@"%@",base64String);
2)加密后的data转化成加密前的字符串
//将普通的data转化为加密后的data
NSData * base64Data = [data base64EncodedDataWithOptions:0];
//加密后的Data转换为普通data
NSData * data2 = [[NSData alloc] initWithBase64EncodedData:base64Data options:0];
NSString * string2 = [[NSString alloc] initWithData:data2 encoding:NSUTF8StringEncoding];
NSLog(@"%@",string2);
3)加密图片
UIImage * image = [UIImage imageNamed:@"111"];
NSData * data = UIImagePNGRepresentation(image);
NSString * base64String = [data base64EncodedStringWithOptions:0];
//解密图片
NSData * decodeData = [[NSData alloc] initWithBase64EncodedString:base64String options:0];
UIImage * decodeImage = [[UIImage alloc] initWithData:decodeData];
2、MD5加密
Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护
是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。
MD5算法具有以下特点:
1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。除了MD5以外,其中比较有名的还有sha-1、RIPEMD以及Haval等。
1)加密
NSString * password = @"123";
NSLog(@"%@",password.md5String);
//md5加盐 够复杂
NSString * repassword = [password stringByAppendingString:@"vbd,AS.JFLD.ADj"];
NSLog(@"%@",repassword.md5String);
3、钥匙串加密方式
SSKeychain 第三方
iCloud 钥匙串,苹果给我们提供的密码保存的解决方案,iOS7之后有的。
存沙盒:
1、如果手机越狱,密码容易被窃取。
2、当软件更新时,沙盒里的内容是不被删除的。但是,如果将软件卸载后重装,沙盒里的数据就没有了。
3、每个APP的沙盒是相对独立的,密码无法共用。
存钥匙串里:
1、苹果提供的安全方案,rsa加密,相对安全。
2、无论软件更新或删除,密码都存在,都可以自动登录。
3、同一公司的APP密码是可以共用的。
钥匙串c语言的
1)代码
setPassword 密码
Service 服务标识
account 用户名
1、添加钥匙串
define kLoginService @"loginService"
[SSKeychain setPassword:password forService:kLoginService account:username error:NULL];
2、删除钥匙串
[SSKeychain deletePasswordForService:kLoginService account:@"Daquan" error:NULL];
3、通过服务,账号找到密码
self.passwordTF.text = [SSKeychain passwordForService:kLoginService account:@"Daquan" error:NULL];
4、文件解压缩
SSZipArchive 第三方
1、压缩
NSArray * array = @[
[[NSBundle mainBundle] pathForResource:@"传输中加密" ofType:@"png"],
[[NSBundle mainBundle] pathForResource:@"加密请求头" ofType:@"png"]
];
//根据所有文件的地址压缩文件
[SSZipArchive createZipFileAtPath:@"/Users/dahuan/Desktop/image.zip" withFilesAtPaths:array];
2、解压
1)第一种方式
[[[NSURLSession sharedSession] downloadTaskWithURL:[NSURL URLWithString:@"http://192.168.1.200/image.zip"] completionHandler:^(NSURL * _Nullable location, NSURLResponse * _Nullable response, NSError * _Nullable error) {
``//unzipFileAtPath 压缩包的路径``
//toDestination 解压后的路径
NSString * cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
[SSZipArchive unzipFileAtPath:location.path toDestination:cachesPath];
}] resume];
2)第二种方式
NSString * path = [[[NSBundle mainBundle] bundlePath]
stringByAppendingPathComponent:@"images"];
NSLog(@"%@",path);
//根据目录压缩文件
[SSZipArchive createZipFileAtPath:@"/Users/dahuan/Desktop/image.zip" withContentsOfDirectory:path];
iOS加密方式及解压缩文件的更多相关文章
- zip4j加密压缩、解压缩文件、文件夹
原文:http://blog.csdn.net/k21325/article/details/54376188 1.首先,引用到zip4j的第三方类库,感谢作者的无私奉献,官网打不开,这里就不贴了,下 ...
- iOS中的加密方式 与 文件解压缩
1.Base64加密方式 Base64是一种加密方法,可逆的加密. Base64中的可打印字符包括字母A-Z.a-z.数字0-9,这样共有62个字符./ + 填充 = echo -n BC|base6 ...
- iOS开发,让数据更安全的几个加密方式
任何应用的开发中安全都是重中之重,在信息交互异常活跃的现在,信息加密技术显得尤为重要.在app应用开发中,我们需要对应用中的多项数据进行加密处理,从而来保证应用上线后的安全性,给用户一个安全保障.这篇 ...
- iOS代码加密常用加密方式
iOS代码加密常用加密方式 iOS代码加密常用加密方式,常见的iOS代码加密常用加密方式算法包括MD5加密.AES加密.BASE64加密,三大算法iOS代码加密是如何进行加密的,且看下文 MD5 iO ...
- iOS 中的加密方式
iOS 中的加密方式 1 加密方式主要有: Base64,MD5,RSA,DES,AES,钥匙串存储,Cookie 2 各加密方式的比较 2.1 Base64 2.1.1 基本原理:采用64个基本的 ...
- iOS开发中常用到的加密方式
1 base64 1.1 简介 Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码.它将需要编码的数据拆分成字节数组.以3个字节为一组.按顺序排列24位数据,再把这24位数据 ...
- iOS常用的加密方式--备用
MD5 iOS代码加密 创建MD5类,代码如下 #import <Foundation/Foundation.h> @interface CJMD5 : NSObject +(NSStri ...
- linux的PAM认证和shadow文件中密码的加密方式
它是一种统一的认证方案.PAM 让您能随时改变您的认证方法以及需求,并且不需要重新编译任何代码就封装了所有本地认证方法.具体见 PAM 网站. 对于 PAM 您只需要做: 对您的密码采用不同于 DES ...
- 在iOS 开发中用GDataXML(DOM方式)解析xml文件
因为GDataXML的内部实现是通过DOM方式解析的,而在iOS 开发中用DOM方式解析xml文件,这个时候我们需要开启DOM,因为ios 开发中是不会自动开启的,只有在mac 开发中才自动开启的.我 ...
随机推荐
- WPF - 属性系统 (4 of 4)
依赖项属性的重写 在基于C#的编程中,对属性的重写常常是一种行之有效的解决方案:在基类所提供的属性访问符实现不能满足当前要求的时候,我们就需要重新定义属性的访问符. 但对于依赖项属性而言,属性执行逻辑 ...
- 《深入理解Java虚拟机》虚拟机性能监控与故障处理工具
上节学习回顾 从课本章节划分,<垃圾收集器>和<内存分配策略>这两篇随笔同属一章节,主要是从理论+实验的手段来讲解JVM的内存处理机制.好让我们对JVM运行机制有一个良好的概念 ...
- 在网上摘录一段对于IOC的解析,比较直观,大家观摩观摩
其实IoC非常简单,基本思想就是面向接口的编程,只是老外给起了个名字名充分利用之. 简单的说,传统模式下,如果你要用钱,你需要去银行取,IoC模式下,银联在你家安了一个取款机,你直接找取款机要钱就可以 ...
- css的五种属性值----在路上(21)
在CSS中,每个属性的属性值都有一定的范围,并且不同类型的属性值有不同的值.对于一个属性,必须取得正确的属性值,才能被浏览器正确地解释,因此一定要弄清每种类型的属性值范围.在CSS中属性一般有以下几种 ...
- 解析大型.NET ERP系统 分布式应用模式设计与实现
C/S架构的应用程序,将一些复杂的计算逻辑由客户端转移到服务器端可以改善性能,同时也为了其它方面的控制..NET Remoting在局域网内调用的性能相当不错.ERP系统中基于.NET Remotin ...
- ASP.NET OAuth:access token的加密解密,client secret与refresh token的生成
在 ASP.NET OWIN OAuth(Microsoft.Owin.Security.OAuth)中,access token 的默认加密方法是: 1) System.Security.Crypt ...
- 前端学HTTP之数据传输
× 目录 [1]客户机处理 [2]集线器处理 [3]路由器1处理[4]路由器2处理[5]交换机处理[6]服务器处理[7]反向传输 前面的话 上一篇中,介绍了网络基础.本文将详细介绍客户机在浏览网页ab ...
- C# 获取Excel中的合并单元格
C# 获取Excel中的合并单元格 我们在制作表格时,有时经常需要合并及取消合并一些单元格.在取消合并单元格时需要逐个查找及取消,比较麻烦.这里分享一个简单的方法来识别Excel中的合并单元格,识别这 ...
- WebAPI接口返回ArrayList包含Dictionary对象正确解析
一.问题提出 为了减少流量,将key-value(键值对)直接输出到Dictionary<string, string>,接口返回结果如下: 其中{}里面内容如下: 上图显示600是键,4 ...
- Gatekeeper Pattern 把关(守门人)模式
Protect applications and services by using a dedicated host instance that acts as a broker between c ...