一、Base64编码:把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='。为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换,编码表的大小为2^6=64,这也是Base64名称的由来。
二、Base64编码步骤
1)将所有字符转化为ASCII码
2)将ASCII码转化为8位二进制
3)将二进制3个归成一组(不足3个在后边补0)共24位,再拆分成4组,每组6位
4)统一在6位二进制前补两个0凑足8位
5)将补0后的二进制转为十进制
6)从Base64编码表获取十进制对应的Base64编码
三、转换举例
1)zyq
2)mzwu
为什么不会出现3个‘=’号呢,一个‘=’号代表一个空的占位符,而3个字符刚好转成4个Base64字符,呵呵。
四、Base64编码应用
1)图片大部分都是可以转换成Base64编码,直接使用。一般用来处理不大的图片,别的文件格式也可以,过大的base64其实意义不大了。
<img src="data:image/gif;base64,xxxxx..." />
2)将canvas保存时非常有用,参考http://www.nihilogic.dk/labs/canvas2image/,修改MIME头可以用于保存文件,如修改为image/octet-stream
var strDataURI = oCanvas.toDataURL(); // returns "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACt..."
学习某位大神猜解加密串的文章,这里做个记录,http://bbs.blackbap.org/thread-3973-1-1.html。。。
----------------------------------------------------
GCV15/bVem29Cu9CiBpP+w GCV15/bVem29Cu9CiBpP+w E5Ia47UWnXs19vyWWsjKbg Q3GN6LRsX/ba1eJUEQqLeA Dhvt8khDDmpERqXcsUhtWQ
以E5Ia47UWnXs19vyWWsjKbg为例,可能这么看看不出什么效果,那我们换个姿势看:E5Ia47UWnXs19vyWWsjKbg==,不过有人会问,长的像又不表示这就是base64。
走个流程熟悉一下,先按照Base64的加密方式反向解密,得到二进制,如果按照ascii码来转,则很多事无意义的字符,那么按照十六进制转换来看看
00010011 13 10010010 92 00011010 1A 11100011 E3 10110101 B5 00010110 16 10011101 9D 01111011 7B 00110101 35 11110110 F6 11111100 FC 10010110 96 01011010 5A 11001000 C8 11001010 CA 01101110 6E
得到:13921AE3B5169D7B35F6FC965AC8CA6E,看着眼熟吧,就是MD5加密后的结果,MD5解密的网站有很多,一般都可以破解,但有些密码破解需要收费的。
#########################################################
一、MD5:Message-Digest Algorithm 5(消息摘要算法第五版)的简称,是当前计算机领域用于确保信息传输完整一致而广泛使用的散列算法之一(又译哈希算法、摘要算法等),主流编程语言普遍已有MD5的实现。将数据(如一段文字)运算变为另一固定长度值,是散列算法的基础原理,MD5的前身有MD2、MD3和MD4。虽然已被破解,但仍然具有较好的安全性,加之可以免费使用,所以仍广泛运用于数字签名、文件完整性验证以及口令加密等领域。
二、32位与16位MD5加密的区别:16位加密就是从32位MD5散列中把中间16位提取出来!其实破解16位MD5散列要比破解32位MD5散列还慢因为他多了一个步骤,就是使用32位加密后再把中间16位提取出来, 然后再进行对比而破解32位的则不需要,加密后直接对比就可以了。
字符串:abc MD5(16位):3CD24FB0D6963F7D MD5(32位):900150983CD24FB0D6963F7D28E17F72
--------------------------------------
Base64加解密,http://base64.xpcha.com/
MD5加密,http://tool.chinaz.com/Tools/MD5.aspx
MD5解密,http://www.cmd5.com/
-----------------------------------------
ASCII码对照表
相关推荐
本资源提供了在Android Studio项目中使用JNI实现RSA、DES、AES以及Base64和MD5的示例。 1. **RSA**: RSA是一种非对称加密算法,它基于两个密钥——公钥和私钥。公钥可以公开,用于加密数据;而私钥必须保密,用于...
在标题和描述中提到的"Base64工具类(加密、解密)以及MD5加密",涉及到的是基础的编码与加密技术,广泛应用于数据传输、存储以及认证等领域。下面将详细阐述Base64、MD5、DES和AES这四种技术,并探讨它们的应用场景...
标题中的“PB可用md5加密、des加解密,Base64编码DLL、附PB11.5调用例程”表明这是一个关于PowerBuilder(PB)应用的开发资源,其中包含使用MD5加密、DES(Data Encryption Standard)解密以及Base64编码的功能。...
本文将详细介绍C++中SHA1、MD5和Base64加解密算法的实现及其原理。这些技术广泛应用于密码存储、数据完整性验证以及网络传输中。 首先,SHA1(Secure Hash Algorithm 1)是一种哈希函数,它接受任意长度的数据输入...
本主题将深入探讨“base64”和“MD5”这两种常用的加解密方法,并且强调它们在后台应用中的实践。根据提供的文件信息,我们可以推断这些文件可能包含了关于如何在前后台环境中使用base64和MD5进行加解密的示例代码或...
Base64和MD5是两种在信息技术领域广泛应用的加密与编码技术。Base64主要用于将二进制数据转换为可打印的字符格式,而MD5则是一种常用的哈希函数,用于数据的校验和安全存储。 Base64是一种编码方式,它将任意长度的...
从描述中可以看出,这个压缩包文件"studyjava"可能包含了一个Java项目,该项目实现了Base64和MD5的加解密功能,并且可以部署到MyEclipse集成开发环境中运行,展示出具体的效果。用户可以通过运行该项目,了解这两种...
MD5和Base64是两种在信息技术领域广泛使用的编码与加密技术,它们各自有其特点和应用场景。 MD5,全称Message-Digest Algorithm 5,是一种广泛使用的哈希函数,可以将任意长度的信息转化为固定长度的摘要(通常为...
标题中的“VB6.0 RSA/AES/Md5/Base64加密 解密 微信小程序 javascript 通用”表明这是一个关于编程的示例项目,主要涵盖了四种加密和解密技术:RSA、AES、MD5和Base64。这些技术在信息安全领域广泛应用于数据保护和...
本篇将详细介绍如何在C#中实现Base64、MD5编码转换以及AES、RSA、SM2和SM4加解密,并探讨这些技术的原理和应用。 1. **Base64编码**:Base64是一种用于将二进制数据编码为ASCII字符串的编码方式,便于在网络上传输...
在这个压缩包中,包含的资源可以帮助我们理解并实现SHA1、SHA、MD5、AES加密与解密,以及BASE64编码和解码。下面我们将详细探讨这些加密算法和它们在Java中的实现。 1. **SHA(Secure Hash Algorithm)**: SHA是一...
总结,通过JavaScript进行MD5、AES和Base64的加密解密是确保Web应用数据安全的重要手段。MD5用于数据校验,AES提供强加密,而Base64则方便在网络中传输二进制数据。了解并熟练运用这些加密方法,有助于开发更安全、...
在给定的文件“VIP加密解密集合.exe”中,很可能包含了一个集成了MD5计算、URL编码/解码以及Base64编码/解码功能的实用工具。这样的工具对于开发人员和系统管理员来说非常有用,他们可以快速地对数据进行这些操作,...
总结来说,"PB可用md5加密、des加解密DLL,附PB9调用例程"这个主题提供了一个实践平台,让PB开发者了解如何在应用程序中集成加密功能。MD5用于数据完整性验证,DES则用于数据的保密性。提供的示例代码和DLL是学习和...
本主题涉及的是在Java后台与前端JavaScript之间利用AES(Advanced Encryption Standard)进行加解密,以及前端的MD5(Message-Digest Algorithm 5)加密技术。以下是关于这些知识点的详细解释: 1. **AES加密**:...
在当今数字化时代,数据的传递与加密是信息安全的基石,而Base64编码与MD5哈希算法是广泛应用于其中的两项技术。Base64编码用于将二进制数据转化为ASCII字符,保证数据在网络传输时的完整性,而MD5作为数据摘要算法...
本主题主要涉及了基础编码技术如Base64,以及密码学中的哈希算法MD5,对称加密AES和DES,以及非对称加密RSA。 1. **Base64**:Base64是一种用于将二进制数据转换为可打印ASCII字符的编码方式。在iOS中,`Data`对象...
标题"jquery-base64加密解密,支持中文"表明这个示例着重于使用`jQuery`进行Base64编码和解码,并且特别强调了对中文字符的支持。在Web开发中,中文字符的编码可能会引起问题,因为它们不在标准ASCII范围内。`jQuery...
根据给定的文件信息,我们可以总结出以下关于“MD5加密解密”的相关知识点: ## MD5加密解密概述 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列算法,它可以将任意长度的数据转换成一个固定长度(通常为...
本文将深入探讨Base64编码以及几种常见的加密解密方法,并提供C#语言的源代码实现。 首先,我们来理解Base64编码。Base64是一种用于在网络上传输二进制数据的编码方式,它将任意可打印字符转换为一个可读的ASCII...