--MD5 数据加密--
来源:互联网 发布:广西南宁移动网络缴费 编辑:程序博客网 时间:2024/06/04 18:40
MD5: Message Digest Algorithm MD5
为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。
MD5算法是哈希算法的一种 其具有以下特点:
1.压缩性 任意长度的数据,算出的MD5值长度都是固定的(16进制, 32位)。
2.容易计算 从源数据计算出MD5值很容易
3.抗修改性 对原数据进行任何改动,哪怕只改1个字节,所得到的MD5值都有跟大区别。
4.强抗碰撞性 已知原数据和MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
先引入头文件 (此为系统文件)
#import <CommonCrypto/CommonCrypto.h>
接着上代码
#pragma mark - 加密字符串 //准备一个字符串 NSString *str = @"I LOVE YOU";//同一个字符串进行MD5加密出来的内容类似 //2.因为MD5是C语言的 所以我们需要将字符串进行编码 const char *data = [str UTF8String]; //3.使用字符串数组去存取加密后相关的内容 //CC_MD5_DIGEST_LENGTH表述长度 unsigned char result [CC_MD5_DIGEST_LENGTH]; //4.进行MD5加密 //参数1 要加密的内容 //参数2 要加密的DATA的一个长度 //参数3 MD5 CC_MD5(data, (CC_LONG)strlen(data), result); //5.创建可变字符串 保存结果 NSMutableString *mutableString = [NSMutableString string]; //6.遍历结果数组 然后添加到可变字符串中 for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) { //16进制需要大家知道格式修饰符(%x代表16进制 02当不足两位的时候, 前边补零 当足够两位的时候 不影响) [mutableString appendFormat:@"%02x", result[i]]; } NSLog(@"%@", mutableString);
#pragma mark - 加密NSData //需求 创建一个数组 数组中存储元素 将这个数组写入沙盒里 //1.创建一个数组 NSArray *array = @[@"小暖心", @"肉rr"]; //2.寻找沙盒路径 NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; //3.拼接路径 NSString *path = [documentPath stringByAppendingString:@"array.plist"]; //4.写入 [array writeToFile:path atomically:YES]; //从沙盒中取出NSData类型的数据 NSData *data = [NSData dataWithContentsOfFile:path]; NSLog(@"%@", data); //NSData类型数据加密过程 //1.创建MD5对象 CC_MD5_CTX md5; //2.初始化md5对象 CC_MD5_Init(&md5); //3.准备开始进行数据加密 CC_MD5_Update(&md5, data.bytes, (CC_LONG)data.length); //4.准备一个字符串数组用来存储结果 unsigned char result[CC_MD5_DIGEST_LENGTH]; //结束加密 CC_MD5_Final(result, &md5); //5.差UN构建一个可变的字符串 NSMutableString *string = [NSMutableString string]; //6.遍历数组给可变字符串赋值 for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) { [string appendFormat:@"%x", result[i]]; } NSLog(@"%@", string);}
0 0
- Android 数据加密 MD5加密
- MD5数据加密
- md5加密数据
- md5 数据加密
- MD5 数据加密简介
- 使用MD5数据加密
- iOS 数据加密MD5
- 数据加密--MD5
- MD5加密数据
- --MD5 数据加密--
- MD5数据加密小记
- MD5数据加密
- 使用MD5进行数据加密
- asp实现Md5数据加密
- java实现MD5数据加密
- Android数据加密之MD5
- MD5 不可逆数据加密
- iOS数据安全-md5加密
- iOS开发封装带有Button的UIView控件,使用target-action模式给button添加点击事件
- Python 性能比较和做函数级单元测试的方法
- 文章不全,如有需要进本人博客园
- SQL中几个常用的命令
- Java Web中内置对象--response重定向
- --MD5 数据加密--
- 数据库增删改查之更
- Spring AOP @AspectJ 入门实例
- HDU 1042 N! (大数阶乘,紫书上的方法超时!!还是Java大法好!!)
- eclipse运行go文件,报错“Resource donesnt have a corresponding Go paceage.”
- 【C++】:C++map的妙用之 计算字符串加和
- 毕设之华美路由器实现无线视频监控
- 人工智能之人工神经网络
- ubuntu设置vim高亮和缩进