后端技术面试38讲
李智慧
同程艺龙交通首席架构师,前Intel&阿里架构师,《大型网站技术架构》作者
立即订阅
4026 人已学习
课程目录
已更新 37 讲 / 共 38 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 掌握软件开发技术的第一性原理
免费
软件的基础原理 (8讲)
01丨程序运行原理:程序是如何运行又是如何崩溃的?
02丨数据结构原理:Hash表的时间复杂度为什么是O(1)?
03丨Java虚拟机原理:JVM为什么被称为机器(machine)?
04丨网络编程原理:一个字符的互联网之旅
05丨文件系统原理:如何用1分钟遍历一个100TB的文件?
06丨数据库原理:为什么PrepareStatement性能更好更安全?
07丨编程语言原理:面向对象编程是编程的终极形态吗?
答疑丨Java Web程序的运行时环境到底是怎样的?
软件的设计原理 (14讲)
08丨软件设计的方法论:软件为什么要建模?
09丨软件设计实践:如何使用UML完成一个设计文档?
10 | 软件设计的目的:糟糕的程序员比优秀的程序员差在哪里?
11丨软件设计的开闭原则:如何不修改代码却能实现需求变更?
12 | 软件设计的依赖倒置原则:如何不依赖代码却可以复用它的功能?
13丨软件设计的里氏替换原则:正方形可以继承长方形吗?
14 | 软件设计的单一职责原则:为什么说一个类文件打开最好不要超过一屏?
15丨软件设计的接口隔离原则:如何对类的调用者隐藏类的公有方法?
16 | 设计模式基础:不会灵活应用设计模式,你就没有掌握面向对象编程
17 | 设计模式应用:编程框架中的设计模式
18 | 反应式编程框架设计:如何使程序调用不阻塞等待,立即响应?
19 | 组件设计原则:组件的边界在哪里?
20 | 领域驱动设计:35岁的程序员应该写什么样的代码?
答疑丨对于设计模式而言,场景到底有多重要?
架构的核心原理 (13讲)
21丨分布式架构:如何应对高并发的用户请求
22 | 缓存架构:如何减少不必要的计算?
23 | 异步架构:如何避免互相依赖的系统间耦合?
24 | 负载均衡架构:如何用10行代码实现一个负载均衡服务?
25 | 数据存储架构:如何改善系统的数据存储能力?
26 | 搜索引擎架构:如何瞬间完成海量数据检索?
27 | 微服务架构:微服务究竟是灵丹还是毒药?
28 | 高性能架构:除了代码,你还可以在哪些地方优化性能?
29 | 高可用架构:我们为什么感觉不到淘宝应用升级时的停机?
30 | 安全性架构:为什么说用户密码泄漏是程序员的锅?
31 | 大数据架构:大数据技术架构的思想和原理是什么?
32 | AI与物联网架构:从智能引擎到物联网平台
33 | 区块链技术架构:区块链到底能做什么?
不定期加餐 (1讲)
加餐 | 软件设计文档示例模板
后端技术面试38讲
登录|注册

30 | 安全性架构:为什么说用户密码泄漏是程序员的锅?

李智慧 2020-01-31
系统安全是一个老生常谈又容易被忽视的问题,往往只有在系统被攻击了,数据泄漏了,才会关注软件安全问题。互联网应用因为要向全球用户提供服务,在任何地方都可以访问互联网应用,任何恶意的用户可以在世界任何地方对互联网系统发起攻击,因此互联网系统又具有天然的脆弱性。
在互联网各种安全问题中,最能引发话题,刺激大众神经的就是用户密码泄露。数据库被拖库,导致所有的数据泄露,这种系统安全问题涉及的因素可能有很多,大部分都和开发软件的程序员没有关系。但是因为数据库被拖库,黑客直接获得了用户密码等敏感信息,导致用户密码泄露就是程序员的责任了。

数据加解密

通过对用户密码、身份证号、银行卡号等敏感数据加密,保护数据安全,是软件安全性架构的一部分,是程序员和架构师的责任。
软件开发过程中,主要使用的加密方法有三种:单向散列加密、对称加密和非对称加密。
用户密码加密通常使用的是单向散列加密。所谓的单向散列加密是指对一串明文信息进行散列(hash)加密,得到的密文信息是不可以被解密的,也就是说给定一个密文,即使是加密者也无法知道它的明文是什么的,加密是单向的,不支持解密。
单向散列加密事实上是一种 hash 算法。我们熟悉的 MD5 算法就是一种单向散列加密算法,单向散列算法虽然无法通过对密文进行解密计算,还原得到原始明文。但是,如果知道了算法,就可以通过彩虹表的方法进行破解。彩虹表是常用明文和密文的映射表,很多人喜欢用生日做密码,其实生日的组合是非常有限的,轻易就可以建一个生日和密文的映射表。如果黑客得到了密文,可以通过查表的办法得到密码明文。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《后端技术面试38讲》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(2)

  • a、
    crsf(跨站请求伪造)攻击,解决办法是每次请求服务器,服务器都返回一个token,用户端下次请求要带着这个token去请求,服务器校验token是否有效
    2020-02-03
  • imajinyun
    DDoS 攻击貌似是
    2020-02-01
收起评论
2
返回
顶部