iOS - 数据加密

作者:Mitchell 

一、简介

  • 在iOS开发中应用最广泛的数据加密方式就是 MD5 加密,由于其加密的不可逆性,经常用于用户数据的加密。
  • 什么是MD5
    • 全称是 Message Digest Algorithm5 消息摘要算法第5版
  • MD5特点
    • 输入两个不同的明文不会得到相同的输出值
    • 根据输出值,不能得到原始的明文,即其过程不可逆
  • MD5应用
    • 由于MD5有很好的安全性,
  • MD5改进
    • 现在MD5不再是绝对安全,对此,可以对MD5稍作改进,以增加解密的难度
    • 加盐:在明文的固定位置插入字符串,然后再进行MD5
    • 先加密,后乱序:先对明文进行MD5,然后对加密得到的MD5串的字符进行乱序
    • 目的:即便攻破了数据库,也无法拿到真正的密码。
  • 封装:以下是对于 MD5 的封装
 - (NSString *)md5String
{
    const char *string = self.UTF8String;
    int length = (int)strlen(string);
    unsigned char bytes[CC_MD5_DIGEST_LENGTH];
    CC_MD5(string, length, bytes);
    return [self stringFromBytes:bytes length:CC_MD5_DIGEST_LENGTH];
}
{
    NSMutableString *mutableString = @"".mutableCopy;
    for (int i = 0; i < length; i++)
        [mutableString appendFormat:@"%02x", bytes[i]];
    return [NSString stringWithString:mutableString];
}

二、企业中的应用

  • 用户登录密码传递,发起请求,后台返回随机生成的字符串,后台与客户端协商字符串的插入位置,将拼接好的字符串经过MD5加密(可能多次),再返回给后台,后台根据返回的数据和数据库中的数据对比判断数据是否正确。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、MD5 MD5:全称是Message Digest Algorithm 5,译为“消息摘要算法第5版”,MD5...
    _源计划阅读 2,802评论 0 4
  • Base64 base64是一种基于64个可打印字符来表示二进制数据的表示方法.严格来说它只能算作一种编码方式.B...
    miku酱啦阅读 1,281评论 0 3
  • iOS 常用加密方式算法包括MD5加密、AES加密、BASE64加密 MD5加密 MD5:全称是Message D...
    komo21阅读 468评论 0 1
  • 加密解密 base64编码 是网络上使用最广泛的编码系统,能够将任何二进制数据,转换成只有 65 个字符组成的文本...
    Aaronn阅读 578评论 1 7
  • 总结 从优点出发,买了之后好处会变多,买鱼竿买游艇,不能画框,同一立场。
    知_caa1阅读 426评论 0 0

友情链接更多精彩内容