您的位置:首页 > 其它

数据安全,MD5、SHA1加密字符串

2016-06-03 13:45 246 查看
本地数据存储的原则:

与安全相关的用户信息(明文->密文)

RSA 公钥(公开的),私钥(各自不同),加密算法是公开的(穷举)

原则:

任何应用程序都不能在本地直接存储与安全相关的用户信息;

任何应用程序在于服务器传递数据时,都不能直接传输与安全相关的用户信息。

数据加密——MD5

Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321

MD5用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。

MD5的典型应用是对一段字节串产生指纹,以防止被“篡改”。例如,可以对一个readme.txt生成一个MD5的值并记录在案,如果其他人修改了文件中的任何内容,对该文件重新计算的MD5值会发生变化。

MD5还广泛用于操作系统的登录认证上,如Unix、各类BSD系统登录密码、数字签名等诸多方面。

http://www.cmd5.com

使用MD5加密字符串:

#import <CommonCrypto/CommonDigest.h>

- (NSString *)MD5
{
const char *cStr = [self UTF8String];
unsigned char digest[CC_MD5_DIGEST_LENGTH];

CC_MD5(cStr, strlen(cStr), digest);

NSMutableString *result = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];

for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
[result appendFormat:@"%02x", digest[i]];
}

return result;
}


SHA-1简介

SHA (Secure Hash Algorithm,译作安全散列算法) 由美国国家安全局 (NSA) 设计,美国国家标准与技术研究院(NIST) 发布的一系列密码散列函数。

SHA-1, SHA-224, SHA-256, SHA-384 和 SHA-512都被需要安全散列算法的美国联邦政府所应用,他们也使用其他的密码算法和协定来保护敏感的未保密资料。

SHA-1散列函数用可能会被用来实现个人电脑上的数字版权的管理。

使用SHA1加密字符串:

- (NSString *)SHA1
{
const char *cStr = [self UTF8String];
NSData *data = [NSData dataWithBytes:cStr length:self.length];
uint8_t digest[CC_SHA1_DIGEST_LENGTH];

CC_SHA1(data.bytes, data.length, digest);

NSMutableString *result = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2];

for(int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++) {
[result appendFormat:@"%02x", digest[i]];
}

return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息