iOS 利用MD5或SHA1加密算法给字符串加密
来源:互联网 发布:财贸通软件 编辑:程序博客网 时间:2024/05/16 15:29
MD5加密算法多用于文件的验证, 比如说登录密码的匹配就是利用MD5的加密方式,还比如说安卓手机刷ROM包, windows封装系统等为了防止他人对文件进行篡改,都有使用MD5加密对其验证.
SHA1用的不多,这里也做个使用笔记。
下面介绍一下MD5加密实现方法:
因为我们是要给字符串进行MD5加密,所以我们可以使用Catagory给Nsstring类扩展一个 MD5加密的功能
首先创建一个Catagory类
在.h里面建立一个方法
@interface NSString (MD5)- (NSString *)stringToMD5:(NSString *)str;-(NSString*) sha1:(NSString *)str;@end
在.m里实现方法
#import "NSString+MD5.h"#import <CommonCrypto/CommonCrypto.h>/*记得要导入这个框架和它的头文件*/@implementation NSString (MD5)- (NSString *)stringToMD5:(NSString *)str{//1.首先将字符串转换成UTF-8编码, 因为MD5加密是基于C语言的,所以要先把字符串转化成C语言的字符串 const char *fooData = [str UTF8String];//2.然后创建一个字符串数组,接收MD5的值 unsigned char result[CC_MD5_DIGEST_LENGTH];//3.计算MD5的值, 这是官方封装好的加密方法:把我们输入的字符串转换成16进制的32位数,然后存储到result中 CC_MD5(fooData, (CC_LONG)strlen(fooData), result);// CC_MD5(fooData, (unsigned int)strlen(fooData), result); /** 第一个参数:要加密的字符串 第二个参数: 获取要加密字符串的长度 第三个参数: 接收结果的数组 *///4.创建一个字符串保存加密结果 NSMutableString *saveResult = [NSMutableString string];// NSMutableString *saveResult = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];//5.从result 数组中获取加密结果并放到 saveResult中 for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) { [saveResult appendFormat:@"%02x", result[i]]; } /* x表示十六进制,%02X 意思是不足两位将用0补齐,如果多余两位则不影响 NSLog("%02X", 0x888); //888 NSLog("%02X", 0x4); //04 x大写或小写,输出也会相应转成大写或小写 */ return saveResult;}
//sha1 encode-(NSString*) sha1:(NSString *)str{ const char *cstr = [str cStringUsingEncoding:NSUTF8StringEncoding]; NSData *data = [NSData dataWithBytes:cstr length:str.length]; uint8_t digest[CC_SHA1_DIGEST_LENGTH]; CC_SHA1(data.bytes, (unsigned int)data.length, digest); NSMutableString* output = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2]; for(int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++) [output appendFormat:@"%02x", digest[i]]; return output;}
0 0
- iOS 利用MD5或SHA1加密算法给字符串加密
- iOS MD5加密算法 和 SHA1加密
- iOS开发MD5/SHA1加密算法
- C#中采用SHA1或MD5加密字符串的函数
- SHA1和MD5加密算法对文件加密
- ios swift sha1 md5 加密
- iOS的MD5/SHA1加密算法的实现
- iOS的MD5/SHA1加密算法的实现
- MD5 给字符串MD5加密
- 利用MD5加密字符串
- 利用MD5加密字符串
- 数据安全,MD5、SHA1加密字符串
- 加密:Java利用MessageDigest获取字符串或文件MD5详解
- SHA1与MD5 加密算法
- MD5 SHA1 BASE64加密算法
- MD5 SHA1 BASE64加密算法
- 加密算法 AES MD5 SHA1
- [iOS]MD5加密字符串
- LeetCode : Same Tree
- docker 镜像centos 6.x 中文支持解决
- jedsi操作Redius中的GEO功能
- 欢迎使用CSDN-markdown编辑器
- 九度OJ-1122:吃糖果
- iOS 利用MD5或SHA1加密算法给字符串加密
- UITableView header不随着滑动停留
- jstl自定义函数
- QT 和 VS2013的配置
- 欢迎使用CSDN-markdown编辑器
- Khronos 在GDC上的信息汇总:Vulkan,OpenXR,WebGL,glTF
- 多进程与多线程的区别
- 函数(JS)
- 为什么Android要采用Binder作为IPC机制?