base64学习笔记
定义Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。
作用我们先来看一张ASCII码表:
由于有些系统只能使用ASCII字符,那么对于控制字符,或者exe,jpg,pdf这样的文件如果用记事本打开,会出现一 ...
DES加密算法
DES简介DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准。
DES是一个分组加密算法,典型的DES以64位为分组对数据加密,加密和解密用的基本上是同一个算法。其密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位,使得每个密钥都有奇数个1),分组后的明文组和56位的密钥按位替代或交换的方法形成密文组。
算法大致流程大概流程如下
具体一些的如下
原理和实现由第二节的流程图,我们大概知道了,DES加密算法大概流程为
IP置换 => 16轮迭代 =>IP逆置换 三个步骤
其中涉及到F轮函数的设计以及密钥生成方法,下面将分别介绍。
IP置换将64位二进制明文按照下表进行置换,经过置换后,明文的第i位变成了原来的IP_1[i]位。
置换之后再把64位明文分为L0和R0两部分,各32位。
代码实现:
123456789101112131415161718192021bool data[65],L_0[65],R_0[65]; // 明文以及打乱之后分开的L0和R0int IP_1[65] = // IP初始置换表 ...