算法
文章平均质量分 95
qq_32331073
好的技术文章源于文档、书籍、源码和实践,富有感染力的表达来自生活阅历 —— 热爱学习,热爱生活。
展开
-
深入理解分布式(一) —— 一张图理解Paxos算法
从P1到P2c其实是一系列条件的逐步增强,我们要证明这些条件可以满足一致性,就要进行反向推导:P2c => P2b => P2a => P2然后通过P2和P1来满足一致性。实际上P2c规定了Proposer产生提案的方式,当每个Proposer按照这个规则产生提案时,就能满足P2b了。原创 2020-08-24 00:58:26 · 486 阅读 · 1 评论 -
笔记(2)—— 面试官:不以第一个元素为基准的快速排序,你会写吗?
所以你需要记住快速排序的总过程1. 选择基准,2.与第一元素交换,3.元素移动。记住快速排序如果你对 快速排序 ,已经很理解了,笔者相信 理解记忆 能帮助你很好的记住它,但是 如何快速的记住快速排序? ,你可以尝试下面这种方式我们知道 快速排序 有...原创 2020-05-04 21:34:34 · 3498 阅读 · 1 评论 -
安全(二)— 为什么使用 MD5 存储密码非常危险
转自公众号:真没什么逻辑为什么这么设计(Why's THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。很多软件工程师都认为 MD5 是一种加密算法,然而这种观点其实是大错特错并且十分危险的,作为一个 1992 年第一...转载 2019-12-30 17:17:47 · 797 阅读 · 0 评论 -
安全(一)— 完全理解RSA加密算法
本质就是依赖于三个自然数:$n,e,d$,$n$ 和 $d$ 构成一个密钥,$n$ 和 $e$ 构成另一个密钥。对于$(n, d)$与$(n, e)$这两个密钥,无论用哪个密钥加密出来的密文都可以用另一个密钥解开, 所以不必强调哪个用于加密,哪个用于解密,只要把一个公布出去(称为公钥),另一个自己藏着(称为私钥)就行了。根据这种特性,通常,- 使用 **公钥加密** , **私钥解密** ,实现 **加密**。- 使用 **私钥加密** , **公钥解密** ,实现 **数字签名** 。原创 2019-12-18 14:33:32 · 1034 阅读 · 0 评论