# SUMMARY * [简介](./README.md) * [开篇词 | 人人都要会点密码学](./docs/310814.md) * [01 | 学习密码学有什么用?](./docs/310833.md) * [02|单向散列函数:如何保证信息完整性?](./docs/312846.md) * [03|如何设置合适的安全强度?](./docs/313481.md) * [04|选择哈希算法应该考虑哪些因素?](./docs/314660.md) * [05|如何有效避免长度延展攻击?](./docs/315978.md) * [06|对称密钥:如何保护私密数据?](./docs/316802.md) * [07 | 怎么选择对称密钥算法?](./docs/317963.md) * [08 | 该怎么选择初始化向量?](./docs/318740.md) * [加餐 | 密码学,心底的冷暖](./docs/319460.md) * [09 | 为什么ECB模式不安全?](./docs/320611.md) * [10 | 怎么防止数据重放攻击?](./docs/321682.md) * [11 | 怎么利用解密端攻击?](./docs/322130.md) * [12 | 怎么利用加密端攻击?](./docs/323436.md) * [13 | 如何防止数据被调包?](./docs/324192.md) * [14 | 加密数据能够自我验证吗?](./docs/325231.md) * [15 | AEAD有哪些安全陷阱?](./docs/326265.md) * [16 | 为什么说随机数都是骗人的?](./docs/327095.md) * [17 | 加密密钥是怎么来的?](./docs/328197.md) * [18 | 如何管理对称密钥?](./docs/328828.md) * [19 | 量子时代,你准备好了吗?](./docs/329292.md) * [20 | 综合案例:如何解决约会难题?](./docs/330103.md) * [结束语 | 深挖坑、广积粮](./docs/331653.md) * [结课测试 | 这些密码学的知识,你都掌握了吗?](./docs/332286.md)