iOS中的BASE64编码和MD5编码使用
来源:互联网 发布:ab压力测试工具 mac 编辑:程序博客网 时间:2024/05/20 06:24
百度百科对Base64和MD5的部分介绍如下:
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
MD5算法具有以下特点:
1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、弱抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
5、强抗碰撞:想找到两个不同的数据,使它们具有相同的MD5值,是非常困难的。
简而言之,Base64和MD5都是用于在网络传输中对信息的编码传输。其中,Base64有相应的解码方法,MD5则没有。MD5相对于Base64更安全一些。由于MD5的编码过程不可逆,即不能反编码,因此它适合于密码类信息的存储。
在OC语言开发过程中,我们也会用到这两种编码方式,下面做一些简单的介绍,供初学者参考:
一、准备工作:
需要从网络中获取到下面这几个.h和.m文件:
1. Base64.h和Base64.m
2. NSString+MD5.h和NSString+MD5.m
3. NSString+Encryption.h
找不到的朋友可以从附件中获取哈。
二、关于NSString的编码和解码:
的编码和解码:
NSString *originalString = @"This is a original string";//使用BASE64对字符串进行编码和解码 NSString *encodeString = [originalString base64EncodedString];//编码 NSString *decodeString = [encodeString base64DecodedString];//解码 NSLog(@"\n\n1.------BASE64——编码:%@ 解码:%@\n\n",encodeString,decodeString); //使用MD5对字符串进行编码(MD5只能编码,不能解码,较安全) NSString *md5String = [originalString MD5]; NSLog(@"\n\n2.------MD5——编码:%@\n\n",md5String);
//创建一个经过BASE64编码过的字符串 NSString *encodedString = [@"This is a data from a string" base64EncodedString]; //将编码的字符串(encodedString)解码成NSData对象 NSData *data1 = [NSData dataWithBase64EncodedString:encodedString]; NSData *data2 = [encodedString base64DecodedData]; //说明:data1和data2是一样的。 //将解码的Data转为字符串输出 NSString *getString1 = [[NSString alloc] initWithData:data1 encoding:NSUTF8StringEncoding]; NSString *getString2 = [[NSString alloc] initWithData:data2 encoding:NSUTF8StringEncoding]; //输出结果 NSLog(@"result = \n\n1.---%@\n2.---%@",getString1,getString2);
- iOS中的BASE64编码和MD5编码使用
- IOS网络笔记--base64编码和MD5加密的使用方法
- 编码和加密算法的使用(MD5、Base64、DES、RSA)
- js MD5加密 和 base64编码实现!
- java MD5 加密 Base64 编码
- MD5加密算法及BASE64编码
- MD5加密及BASE64编码
- MD5加密与BASE64编码
- MD5 、AES加密、BASE64编码
- base64编码 与 MD5加密
- iOS个人整理31-MD5,base64编码,KeyChain加密
- iOS 编码(Base64) + 哈希摘要(MD5+SHA)
- iOS URL编码&base64编码
- iOS Base64编码
- iOS Base64编码
- iOS Base64编码
- iOS base64 编码详解
- ios-base64编码
- HTML+CSS+JS 俄罗斯方块小游戏 参考教材练习
- poj3268(单源最短路,dijkstra算法)
- C#编程:写文件的bug
- [笔记][Java7并发编程实战手册]3.4 等待多个并发事件的完成CountDownLatch倒计数闭锁
- SQLite学习笔记(3)-SQLite数据类型
- iOS中的BASE64编码和MD5编码使用
- python 单步调式
- hibernate教程4之自动创建数据库表以及插入数据
- Oracle如何删除主键约束的同时也删除索引
- 用js写的月简易日历
- Android ListView 的优化
- 适配器模式
- Add Digits
- 使用Intent启动Activity传递数据