MD5 加密(1)
来源:互联网 发布:淘宝网小孩电子琴包油 编辑:程序博客网 时间:2024/06/16 18:04
![](http://www.devdiv.com/source/plugin/drc_tbg/image/td_03.gif)
![](http://www.devdiv.com/source/plugin/drc_tbg/image/td_arrow.gif)
#import <CommonCrypto/CommonCryptor.h>
+ (NSString *)md5HexDigest:(NSString*)input
{
const char* str = [input UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5(str, strlen(str), result);
NSMutableString *ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH];
for(int i = 0; i<CC_MD5_DIGEST_LENGTH; i++) {
[ret appendFormat:@"%02x",result[i]];
}
//NSLog(@"%@",ret);
return ret;
}
得到的结果是 32位的MD5。。
如果想得到16位的话,要这么做。
NSString *md5String = [self md5HexDigest:String];
//取中间16位
subString = [md5String substringWithRange:NSMakeRange(8, 16)];
查看了相关资料。发现一个问题,32位的和16位的 区别就是,32位的MD5 其实是在16位MD5 的前面和后面各加了8位。
+ (NSString *)md5HexDigest:(NSString*)input
{
const char* str = [input UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5(str, strlen(str), result);
NSMutableString *ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH];
for(int i = 0; i<CC_MD5_DIGEST_LENGTH; i++) {
[ret appendFormat:@"%02x",result[i]];
}
//NSLog(@"%@",ret);
return ret;
}
得到的结果是 32位的MD5。。
如果想得到16位的话,要这么做。
NSString *md5String = [self md5HexDigest:String];
//取中间16位
subString = [md5String substringWithRange:NSMakeRange(8, 16)];
查看了相关资料。发现一个问题,32位的和16位的 区别就是,32位的MD5 其实是在16位MD5 的前面和后面各加了8位。
- MD5 加密(1)
- MD5加密(密码加密)
- MD5类加密工具(1)
- MD5 加密(2)
- 加密(RC4,MD5)
- MD5加密(Java)
- MD5 (加盐) 加密
- md5加密(DigestUtils)
- 加密(MD5加密和HAMC加密)
- iOS MD5加密和SHA-1加密
- MD5加密及HMAC-MD5加密(VC源代码)
- MD5加密及HMAC-MD5加密(VC源代码)
- java中md5加密(1)
- MD5加密解密例子1
- MD5加密代码(java)
- .NET MD5 加密(备忘)
- md5密码加密(java)
- MD5加密(16位)
- Google Play VS App Store:一月盈利相差九倍
- Oracle归档日志删除
- Android Paint和Color类
- MYSQL常用
- Javascript中闭包(Closure)
- MD5 加密(1)
- Android Parcel机制
- Linux嵌入式系统设计的第一二层次
- 开始开发程序
- mongodb有关的研究
- iphone中的UITouch
- mysql出现MySQLCouldn't find MySQL manager错误的解决办法
- jsp页面中文乱码初步处理
- 一个出轨女人与佛的对话!