`
mingren135
  • 浏览: 72459 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Base64、MD5加解密及应用

 
阅读更多

一、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码对照表



 

  • 大小: 55.4 KB
  • 大小: 23 KB
  • 大小: 16.9 KB
  • 大小: 32.9 KB
  • 大小: 222.6 KB
分享到:
评论

相关推荐

    android studio JNI RSA DES AES base64 MD5 加解密.rar

    本资源提供了在Android Studio项目中使用JNI实现RSA、DES、AES以及Base64和MD5的示例。 1. **RSA**: RSA是一种非对称加密算法,它基于两个密钥——公钥和私钥。公钥可以公开,用于加密数据;而私钥必须保密,用于...

    Base64工具类(加密、解密 )以及MD5加密

    在标题和描述中提到的"Base64工具类(加密、解密)以及MD5加密",涉及到的是基础的编码与加密技术,广泛应用于数据传输、存储以及认证等领域。下面将详细阐述Base64、MD5、DES和AES这四种技术,并探讨它们的应用场景...

    PB可用md5加密、des加解密,Base64编码DLL、附PB11.5调用例程

    标题中的“PB可用md5加密、des加解密,Base64编码DLL、附PB11.5调用例程”表明这是一个关于PowerBuilder(PB)应用的开发资源,其中包含使用MD5加密、DES(Data Encryption Standard)解密以及Base64编码的功能。...

    SHA1加密,MD5加密,base64加解密的C++实现类

    本文将详细介绍C++中SHA1、MD5和Base64加解密算法的实现及其原理。这些技术广泛应用于密码存储、数据完整性验证以及网络传输中。 首先,SHA1(Secure Hash Algorithm 1)是一种哈希函数,它接受任意长度的数据输入...

    base64前后台加解密,md5前后台加解密文件

    本主题将深入探讨“base64”和“MD5”这两种常用的加解密方法,并且强调它们在后台应用中的实践。根据提供的文件信息,我们可以推断这些文件可能包含了关于如何在前后台环境中使用base64和MD5进行加解密的示例代码或...

    Base64加密、MD5加密

    Base64和MD5是两种在信息技术领域广泛应用的加密与编码技术。Base64主要用于将二进制数据转换为可打印的字符格式,而MD5则是一种常用的哈希函数,用于数据的校验和安全存储。 Base64是一种编码方式,它将任意长度的...

    Base64、MD5加解密

    从描述中可以看出,这个压缩包文件"studyjava"可能包含了一个Java项目,该项目实现了Base64和MD5的加解密功能,并且可以部署到MyEclipse集成开发环境中运行,展示出具体的效果。用户可以通过运行该项目,了解这两种...

    MD5 、base64加密技术

    MD5和Base64是两种在信息技术领域广泛使用的编码与加密技术,它们各自有其特点和应用场景。 MD5,全称Message-Digest Algorithm 5,是一种广泛使用的哈希函数,可以将任意长度的信息转化为固定长度的摘要(通常为...

    VB6.0 RSA/AES/Md5/Base64加密 解密 微信小程序 javascript 通用

    标题中的“VB6.0 RSA/AES/Md5/Base64加密 解密 微信小程序 javascript 通用”表明这是一个关于编程的示例项目,主要涵盖了四种加密和解密技术:RSA、AES、MD5和Base64。这些技术在信息安全领域广泛应用于数据保护和...

    c#实现base64 MD5 编码转换 AES RSA SM2 SM4加解密

    本篇将详细介绍如何在C#中实现Base64、MD5编码转换以及AES、RSA、SM2和SM4加解密,并探讨这些技术的原理和应用。 1. **Base64编码**:Base64是一种用于将二进制数据编码为ASCII字符串的编码方式,便于在网络上传输...

    java实现SHA1、SHA、MD5、AES加密、AES解密、BASE64解密、BASE64加密,以及BASE64 jar和源码

    在这个压缩包中,包含的资源可以帮助我们理解并实现SHA1、SHA、MD5、AES加密与解密,以及BASE64编码和解码。下面我们将详细探讨这些加密算法和它们在Java中的实现。 1. **SHA(Secure Hash Algorithm)**: SHA是一...

    采用JS端来对字符串进行MD5,AES,Base64等加密解密

    总结,通过JavaScript进行MD5、AES和Base64的加密解密是确保Web应用数据安全的重要手段。MD5用于数据校验,AES提供强加密,而Base64则方便在网络中传输二进制数据。了解并熟练运用这些加密方法,有助于开发更安全、...

    加密解密工具--MD5/URL/Base64

    在给定的文件“VIP加密解密集合.exe”中,很可能包含了一个集成了MD5计算、URL编码/解码以及Base64编码/解码功能的实用工具。这样的工具对于开发人员和系统管理员来说非常有用,他们可以快速地对数据进行这些操作,...

    PB可用md5加密、des加解密DLL,附PB9调用例程

    总结来说,"PB可用md5加密、des加解密DLL,附PB9调用例程"这个主题提供了一个实践平台,让PB开发者了解如何在应用程序中集成加密功能。MD5用于数据完整性验证,DES则用于数据的保密性。提供的示例代码和DLL是学习和...

    java后台及前端js使用AES互相加解密及前端md5加密

    本主题涉及的是在Java后台与前端JavaScript之间利用AES(Advanced Encryption Standard)进行加解密,以及前端的MD5(Message-Digest Algorithm 5)加密技术。以下是关于这些知识点的详细解释: 1. **AES加密**:...

    解密base64的离线小葵

    在当今数字化时代,数据的传递与加密是信息安全的基石,而Base64编码与MD5哈希算法是广泛应用于其中的两项技术。Base64编码用于将二进制数据转化为ASCII字符,保证数据在网络传输时的完整性,而MD5作为数据摘要算法...

    swift-iOS数据安全--base64md5AESDESRSA

    本主题主要涉及了基础编码技术如Base64,以及密码学中的哈希算法MD5,对称加密AES和DES,以及非对称加密RSA。 1. **Base64**:Base64是一种用于将二进制数据转换为可打印ASCII字符的编码方式。在iOS中,`Data`对象...

    jquery-base64加密解密,支持中文

    标题"jquery-base64加密解密,支持中文"表明这个示例着重于使用`jQuery`进行Base64编码和解码,并且特别强调了对中文字符的支持。在Web开发中,中文字符的编码可能会引起问题,因为它们不在标准ASCII范围内。`jQuery...

    MD5加密解密

    根据给定的文件信息,我们可以总结出以下关于“MD5加密解密”的相关知识点: ## MD5加密解密概述 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列算法,它可以将任意长度的数据转换成一个固定长度(通常为...

    Base64及多种加密解密方法_加密_解密_

    本文将深入探讨Base64编码以及几种常见的加密解密方法,并提供C#语言的源代码实现。 首先,我们来理解Base64编码。Base64是一种用于在网络上传输二进制数据的编码方式,它将任意可打印字符转换为一个可读的ASCII...

Global site tag (gtag.js) - Google Analytics