把每三个字符,共24位2进制的ASCII码,折分成连续4个6位的ASCII码,再在每个ASCII码前面补00变成8位,如果不够3位,则补8个0,一般情况下对应显示为"=",也可以设定自己的规则,最后对应一个码表来变成
0->A 1->B 2->C 3->D 4->E
5->F 6->G 7->H 8->I 9->J
10->K 11->L 12->M 13->N 14->O
15->P 16->Q 17->R 18->S 19->T
20->U 21->V 22->W 23->X 24->Y
25->Z 26->a 27->b 28->c 29->d
30->e 31->f 32->g 33->h 34->i
35->j 36->k 37->l 38->m 39->n
40->o 41->p 42->q 43->r 44->s
45->t 46->u 47->v 48->w 49->x
50->y 51->z 52->0 53->1 54->2
55->3 56->4 57->5 58->6 59->7
60->8 61->9 62->+ 63->/
例:原文: a b c
ASCII码: 01100001 | 01100010 | 01100011
分成4个: 011000 | 010110 | 001001 | 100011
补足位数: 00011000 | 00010110 | 00001001 | 00100011
序号大小: 24 22 9 35
对应编码: Y W J j
编码结果: YWJj
例:原文: a b
ASCII码: 01100001 | 01100010 | 00000000
分成4个: 011000 | 010110 | 001000 | 000000
补足位数: 00011000 | 00010110 | 00001000 | 00000000
序号大小: 24 22 8
对应编码: Y W I =
编码结果: YWI=
分享到:
相关推荐
base64加密和解密算法完整事例代码,base64加密和解密算法完整事例代码
Base64编码的核心原理是将二进制数据进行分组,每24Bit(3字节)为一个大组,再把一个大组的数据分成4个6Bit的小分组。由于6Bit数据只能表示64个不同的字符(2^6=64),所以这也是Base64的名字由来。
BASE64位编码,主要介绍BASE64编码和解码的过程,包括了对字节、字符串、不同编码格式、文件的编码和解码
技术交流,没考虑啥数据结构,但绝对准确。通过base64的原理,多重判断,实现了base64.最难的我觉得还是解密,考虑到有等于号,怎么把它逆回去有一点点的难度。
主要介绍了基于Java实现的Base64加密、解密原理代码,需要的朋友可以参考下
nodejs的base64和aes-128-ecb加密.rar
BASE64编码是一种常用的将二进制数据转换为可打印字符的编码。讲解了编码原理以及base64函数
C++实现的Base64原理的一个加密解密的源码
关于Base64加密算法的3个详细例子,用于博文《Base64编码原理解析与Java实现》
主要介绍了python中base64加密解密方法,实例分析了base64加密解密的原理、用途与相关使用技巧,需要的朋友可以参考下
Base64 1.Base64就是一种基于64个可打印的字符来表示二进制数据的方法 Base64使用了26个字母、26个大写字母、10个数字以及两个符号(+、/),用语在电子邮件这样的基于文本...3.Go实现Base64加密解密 package main impo
网络安全问题日益严峻的今天,原始密码和简单非可逆加密算法已经不足以提供安全的系统服务,所以加盐加密技术使用越来越...本文档系统的介绍了加盐加密的原理和实现方案。 由四哥许坤整理发布,http://blog.kunx.org
Java Base64编码原理 Java Base64编码是一种用64个字符表示任意二进制数据的方法,通过将3个字节的数据转换为4个Base64字符,实现数据的压缩和传输。 Java Base64解码过程 Java Base64解码是将Base64编码后的字符串...
Base64编码,64指A-Z、a-z、0-9、+和/这64个字符,还有“=”号不属于编码字符,而是填充字符。 优点:方法简单 缺点:不保险,别人拿到密文可以自己解密出明文 编码原理:将3个字节转换成4个字节((3 X 8)=24=(4X6))...
base91是base家族中的编码一员,本程序提供使用c++编写实现base91的编码和解码的源码,源码里面包含base91的原理和部分注释 本程序仅供base91的学习,如有问题请留言
#region [函数] [加密] public string Fun_Secret(string Send_String) { byte[] Secret_Byte = UTF8... string Secret_String = Convert.ToBase64String(Secret_Byte); return Secret_String; } #endregion
hashlib模块支持的加密算法有md5 sha1 sha224 sha256 sha384 sha512(加密原理请参考此处),使用起来也很简单。 以md5加密为例,有两种方法: 一、 追加模式 代码示例: 复制代码 代码如下: import hashlib #引入...
Base64加解密工具类-Java版。解决使用Android Base64加密后字符串包含 换行、加号、%252等异常信息,导致上传到服务端后,服务端解密乱码的问题。原理:保证加密生成的字符串中会去除掉换行、空格、加号等异常字符。
echo base64_encode ($encryption);//echo “dXNlcm5hbWU= “; echo “ ”; echo urlencode(“http://”.$encryption);//echo ” http://username “; echo “ ”; echo sha1($encryption);//echo “249ba...
•Android数据加密之Base64编码算法 •Android数据加密之SHA安全散列算法 什么是Rsa加密? RSA算法是最流行的公钥密码算法,使用长度可以变化的密钥。RSA是第一个既能用于数据加密也能用于数字签名的算法。 ...