安全攻防:密码学

1.替换密码(最原始的密码)

破解方法

  • 蛮力攻击、穷尽密钥搜索

    26个英文字母替换密码的密钥空间: 26 * 25 * 24....* 3 * 2 * 1 = 2^88

  • 字母频率分析

    56-64位:几个小时甚至几天可以破解

2.不可逆加密:hash(散列)函数

  • MD5

    对任意操作对象生成一个32位字符串,相当于一个映射表。

    用途:

    1. 密码(服务器不需要知道用户的真实密码,数据库保存的是加密密码)

    2. 搜索

    3. 版权

    4. 文件完整性校验

    破解:

    1. 散列碰撞

    2. 加盐

      在原有字符串添加一串自定义字符串,只是降低了被破解的概率。

      更严格的加盐策略:HMAC

  • SHA1

  • SHA256/512

iOS系统本身集成了其功能,只需要导入库<CommenCrypto/CommonCrypto.h>即可使用,有现成扩展:nsstring+hash

特点:

  • 算法公开

  • 对相同的数据加密,得到的结果是一样的

  • 得到的结果都是定长的

3.对称加密算法
encryptionTools

  • DES

  • 3DES

  • AES

4.非对称加密

  • RSA
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容