
Algorithm
文章平均质量分 80
Algorithm
没事干写博客玩
真正的大师永远怀着一颗学徒的心。
展开
-
CRC 循环冗余校验
CRC 循环冗余校验引言多项式 Polynomical原数据填充CRC校验过程是否被篡改引言写点基础,CRC校验(循环冗余校验 Cyclic Redundancy Check)在有时候玩RFID的时候也许会用到,有些校验位使用简单的异或或相加,有些校验位使用CRC校验,实际上CRC也是使用和异或差不多的方式(模2除法),只是多了一个CRC除数,CRC校验其实并不难。多项式 Polynomical我们先不管CRC标准中的多项式,仅仅对于在CRC中的作用来说,它就是模2除法的除数,这个除数由多项式中的原创 2021-01-18 16:44:58 · 547 阅读 · 2 评论 -
AES 5种加密模式 && 初始向量的影响
AES 5种加密模式 && 初始向量的影响引言AES的工作模式ECB模式(密码分组链接:Cipher-block chaining)CBC模式(电子密码本模式:Electronic codebook)CFB模式(密文反馈:Cipher feedback)OFB模式(输出反馈:Output feedback)引言写这篇文章是由于,关于如何使用AES的文章很多,大多都是API调用,但是关于IV初始向量的作用好像没几个文章有写,IV初始向量在CBC,CFB模式下,仅影响前16字节的块,推荐使用原创 2020-12-15 20:07:37 · 14021 阅读 · 11 评论 -
冒泡排序 选择排序 快速排序 归并排序
冒泡排序 快速排序 归并排序引言稳定与不稳定排序算法区别冒泡排序快速排序归并排序引言写点基础的文章,这三个排序算法算是很基础了。稳定与不稳定排序算法区别稳定排序算法是指,如果碰到相同的值,两者不会互换位置。不稳定排序算法是指,如果碰到相同的值,两者可能会互换位置。冒泡排序冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的稳定排序算法。理解冒泡排序其实很简单,比如有个数组为m,长度为n。首先我们需要确定的是,肯定需要从头到尾遍历一次,下标记作i,那么这个值就是m[i],和这个原创 2020-12-13 19:50:16 · 514 阅读 · 1 评论 -
小白文 理解SnowFlake(雪花算法)
小白文 理解SnowFlake(雪花算法)组成结构解决了什么问题各个BIT位作用小白文理解雪花算法单线程下的简单栗子雪花算法(SnowFlake)由Twitter创造的,是一个唯一ID生成算法,且具备有序性和可扩展性.雪花算法难吗?其实并不难,甚至说简单。思路远比技术和代码重要得多。组成结构生成出的ID是一个64bit的整数,其中时间戳占41位,数据中心ID占5位,机器ID占5位,自增序列占12位,还有1位是符号位。这个符号位可以是无符号,这样就可以扩大使用时间或其他地方的bit位数,但是为什么在原创 2020-05-25 13:07:34 · 2376 阅读 · 0 评论 -
非对称加密RSA算法原理及实际应用场景
非对称加密RSA算法原理及实际应用场原理数学基础质数模指数运算小白理解为什么需要足够大的质数引言我数学差的离谱,所以我朋友去学AI,我还在这搞这些。虽然数学差也能学那些,但是毕竟不想当掉包侠,没走那条路。所以本文如果在数学方面有问题,请留言给我,避免误人子弟。对称加密算法有AES,DES,3DES,RC4等,加密解密方共用1个密钥,这就导致了很容易被破解,因为密钥在客户端中也存在,无论你如何加密这个字符串,程序跑起来的时候这密钥总会在内存里。一般情况下,我们会使用RSA加密,RSA使用一个公钥原创 2020-12-13 04:19:07 · 6276 阅读 · 3 评论