1、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之后加入系统库里的

类方法加锁,对象方法解锁

1) 字符串转化为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中的加密方式 与 文件解压缩的更多相关文章

  1. iOS 中的加密方式

    iOS 中的加密方式 1 加密方式主要有: Base64,MD5,RSA,DES,AES,钥匙串存储,Cookie 2 各加密方式的比较 2.1 Base64 2.1.1 基本原理:采用64个基本的 ...

  2. 文件 "c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\ttt.mdf" 已压缩,但未驻留在只读数据库或文件组中。必须将此文件解压缩。 CREATE DATABASE 失败。无法创建列出的某些文件名。请查看相关错误。 (.Net SqlClient Data Provider)

    问题: 文件 "c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\ttt.mdf" 已压缩,但 ...

  3. (iOS)Base64加密和DES加密、以及JAVA和iOS中DES加密统一性问题

    我们在项目中为了安全方面的考虑,通常情况下会选择一种加密方式对需要安全性的文本进行加密,而Base64加密和DES64加密是常用的加密算法.我记得我在前一个项目中使用的就是这两种加密算法的结合:Bas ...

  4. iOS中的存储方式

    1.Plist 1.1 了解沙盒 每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其它文件系统隔离.应用必须呆在自己的沙盒里.其它应用不能访问该沙盒. 一个程序中所有的非代码文件都可以 ...

  5. iOS常用的加密方式--备用

    MD5 iOS代码加密 创建MD5类,代码如下 #import <Foundation/Foundation.h> @interface CJMD5 : NSObject +(NSStri ...

  6. iOS中MD5加密字符串实现

    1.MD5加密 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.该算法的文件号为RFC 1321 ...

  7. iOS常用的加密方式

    MD5 iOS代码加密 创建MD5类,代码如下 #import <Foundation/Foundation.h> @interface CJMD5 : NSObject +(NSStri ...

  8. C语言中以文本方式读写文件时换行符转换的注意事项

    我们知道在UNIX下是没有回车符(\r)的,只有换行符(\n),而C语言诞生于UNIX(Linux即面向开源的UNIX,Mac OS也是UNIX发展而来的,而Windows是从MS-DOS发展而来,与 ...

  9. PHP中的加密方式有如下几种

    1. MD5加密 string md5 ( string $str [, bool $raw_output = false ] ) 参数 str  --  原始字符串. raw_output  --  ...

随机推荐

  1. emWin5.24 VS2008模拟LCD12864 stm32 RTX移植 【worldsing笔记】

      emWin for 12864 并口移植 源代码下载:RTX_emWin5.24_Keil_VS2008-20141122.zip   硬件环境: CPU: stm32f103ve LCD:st7 ...

  2. [置顶] 2013 Multi-University Training Contest 8

    1003 Mine 简单sg的博弈题,我们走入了nim博弈的误区,后来发现改了三四个字符就过了....我只能说我是sbsbsbsbsbsb...判奇偶啊... #pragma comment(link ...

  3. 建立ODBC数据源(基于windows)

    1. win+r 2. control 3. 打开数据源 4. 点击添加 5. 选择Oracle in OraClient11g_home1 ,点击完成 6. 填写,查看具体参数信息点击Help 7. ...

  4. 使用Map List 封装json数据

    <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</art ...

  5. android ViewConfiguration

    ViewConfiguration 1.有时候要获取一些android UI的中一些默认参数的来进行操作设置,就要用到ViewConfiguration 官方飞解释是:ViewConfiguratio ...

  6. VCL -- Understanding the Message-Handling System

    Understanding the Message-Handling System http://docwiki.embarcadero.com/RADStudio/XE7/en/Understand ...

  7. .NET连接SAP系统专题:SAP中新建可远程调用的RFC(二)

    何谓RFC,就是一个Function,可以被非SAP系统调用,比如VB,C#,Java等.如果我们在RFC中INCLUDE了相关的业务逻辑,那么我们就可以完全操控SAP中的业务数据了.就像在TTE里, ...

  8. scenes & segues within storyboards

    Scenes Scenes in a storyboard represent content shown within one screen in your application. A scene ...

  9. CodeForces 164 B. Ancient Berland Hieroglyphs 单调队列

    B. Ancient Berland Hieroglyphs 题目连接: http://codeforces.com/problemset/problem/164/B Descriptionww.co ...

  10. Fox Roddick interviw Federer before 2013 US Open

    talk about  Mike Jordan , talk about Tiger Woods, their competitor when people discuss you I love wi ...