Objective-c的MD5/SHA1加密算法的实现
来源:互联网 发布:树洞炫彩版表白墙源码 编辑:程序博客网 时间:2024/04/28 04:59
Objective-c实现MD5和SHA1算法相对还是比较简单的,可以直接调用系统的C/C++共享库来实现调用
MD5即Message Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一
SHA即Secure Hash Algorithm(安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院 (NIST) 发布的一系列密码散列函数。
使用方式如下:
//MD5加密方式
-(NSString *) md5
{
const char *cStr = [self UTF8String];
unsigned char digest[CC_MD5_DIGEST_LENGTH];
CC_MD5( cStr, strlen(cStr), digest );
NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
[output appendFormat:@"%02x", digest[i]];
return output;
- (NSString*) sha1
{
const char *cstr = [self cStringUsingEncoding:NSUTF8StringEncoding];
NSData *data = [NSData dataWithBytes:cstr length:self.length];
uint8_t digest[CC_SHA1_DIGEST_LENGTH];
CC_SHA1(data.bytes, 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;
MD5即Message Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一
SHA即Secure Hash Algorithm(安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院 (NIST) 发布的一系列密码散列函数。
使用方式如下:
//MD5加密方式
-(NSString *) md5
{
const char *cStr = [self UTF8String];
unsigned char digest[CC_MD5_DIGEST_LENGTH];
CC_MD5( cStr, strlen(cStr), digest );
NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
[output appendFormat:@"%02x", digest[i]];
return output;
}
- (NSString*) sha1
{
const char *cstr = [self cStringUsingEncoding:NSUTF8StringEncoding];
NSData *data = [NSData dataWithBytes:cstr length:self.length];
uint8_t digest[CC_SHA1_DIGEST_LENGTH];
CC_SHA1(data.bytes, 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基于Objective-c的MD5/SHA1加密算法的实现
- Objective-c的MD5/SHA1加密算法的实现
- iOS Objective-c的MD5/SHA1加密算法的实现
- Objective-c的MD5/SHA1加密算法的实现
- iOS开发之Objective-c的MD5/SHA1加密算法的实现
- iOS开发之Objective-c的MD5/SHA1加密算法的实现
- iOS开发之Objective-c的MD5/SHA1加密算法的实现
- iOS开发之Objective-c的MD5/SHA1加密算法的实现
- iOS开发之Objective-c的MD5/SHA1加密算法的实现
- iOS开发之Objective-c的MD5/SHA1加密算法的实现
- iOS开发之Objective-c的MD5/SHA1加密算法的实现
- iOS开发之Objective-c的MD5/SHA1加密算法的实现
- iOS开发之Objective-c的MD5/SHA1加密算法的实现
- iOS开发之Objective-c的MD5/SHA1加密算法的实现
- iOS开发之Objective-c的MD5/SHA1加密算法的实现
- iOS开发之Objective-c的MD5/SHA1加密算法的实现
- Objective-C 与JAVA的SHA1/HmacSHA1加密算法实现
- iOS的MD5/SHA1加密算法的实现
- String方法汇总
- HDU 5303 dp
- hdu 2050 折线分割平面
- android 逆向分析常用API
- 【Java】集合框架
- Objective-c的MD5/SHA1加密算法的实现
- python文件操作
- C++虚函数(1) 来自百度百科
- 关于maven项目在引入java project 时,打war包出错的问题
- 【用户界面:android-Ultra-Pull-To-Refresh】之二:android-Ultra-Pull-To-Refresh框架分析
- POJ2186(tarjan求连通分量)
- 设计模式C++实现(1)——工厂模式
- UILabel长度自适应内部字符串NSString纪录
- Delete Node in a Linked List