md5加密
来源:互联网 发布:管家婆附加数据库 编辑:程序博客网 时间:2024/05/18 02:42
MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。
MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。
MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。
MD5还广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的, 用户Login的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,而系统并不“知道”用户的密码是什么。
#import <Foundation/Foundation.h>
#import <CommonCrypto/CommonDigest.h>
@interface MD5Hash :NSObject {
}
+ (NSString*)md5:(NSString*)str;
@end
#import "MD5Hash.h"
@implementation MD5Hash
+ (NSString*)md5:(NSString*)str {
const char*cStr =[strUTF8String];
unsigned char result[16];
CC_MD5(cStr, strlen(cStr), result);
return [NSStringstringWithFormat:@"XXXXXXXXXXXXXXXX",
result[0], result[1], result[2], result[3],
result[4], result[5], result[6], result[7],
result[8], result[9], result[10], result[11],
result[12], result[13], result[14], result[15]];
}
@end
// MD5字符串加密使用示例
NSString *myMD5String = [MD5Hash md5:@"123456"];
NSLog(@"MD5String: %@", myMD5String);
- MD5加密
- MD5加密
- md5加密
- MD5加密
- md5加密
- MD5加密
- MD5加密
- md5 加密
- MD5加密
- md5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- Android中的尺寸单位比较
- 图基本算法介绍:广度优先搜索、深度优先搜索、拓扑排序、强连通分支(算法篇)
- Manifest.xml文件中的Activity属性android:name必须和工程src目录下的相关类名保持一致
- install tar.gz for ubuntu
- 做不成情侣,也别做朋友:陈思念原创伤感日志
- md5加密
- linux 模块
- 本博客不再更新,转至cnblogs
- 10.28小杂感
- 空心少年的伤感QQ日志:放弃你,不代表放弃爱你
- 成果2
- 整形的++是否是原子性的示例
- Android Sensor感应器介绍:获取用户移动方向,指南针原理
- 输入两个整数,输出这两个整数的和,积