Base64
用于http环境下传递较长的标识信息
基本规则
- 把每三个八位字节变成四个六位字节,每个字节高位增添两个0,例子如下所示:
01111001 01101111 01110101
011110 010110 111101 110101
00011110 00010110 00111101 00110101
再根据Base64字母表得到如下字符
e W 9 1 - 每76个字符加一个换行符
- 处理最后结束符
在最后结束的时候并不能凑齐三个字节,则采取’='符号补足转换后未被补全的四个字节
变种
URL改进Base64编码,在末尾填充’=‘号,并将标准编码中的’+‘和’/‘号改成’-‘和’_’,从而免去URL编解码和数据库存储所要做的转换。
正则表达式的改进将’+‘和’/‘改成了’!‘和’-’
幂数加密
非常简单的一种加密方式,英文字母一共26个那么由2的0、1、2、3、4次幂就可以表示31个单元,通过二进制幂来表示字母序号加密。
如 15 = 2 0 + 2 1 + 2 2 + 2 3 15=2^0+2^1+2^2+2^3 15=20+21+22+23,那么因为O这个字母位于字母表第15位,于是其就可以用二进制幂数0123来加密表示。
栅栏密码
普通栅栏
将明文密码分成N个一组,然后从每组第一个字开始,将每组的相同位置的字连起来,最后形成一段无意义的话。
如Ilovebutdontknow分成4个字母一组
Ilov ebut dont know
然后从每组第一个字开始,将每组的相同位置的字连起来。
ledk lbon ouno vttw
最后形成一段无意义的话
ledklbonounovttw
W型
对字符串loveuloveu进行分组时形成如下W型格式
I . . . u . . . e .
. o . e . l . v . u
. . v . . . o . . .
然后将它链接起来形成如下字符串lueoelvuvo
通过编写代码解密,或者如下网址解密http://www.atoolbox.net/Tool.php?Id=777
培根密码
一种用a,b两个字母来代替其他字母的隐写术。
每个字母对应5个 a , b a,b a,b构成的一组字母,如A/a - aaaaa