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

本地数据存储的原则:
与安全相关的用户信息(明文->密文)
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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值