美文网首页
base64、md5、hash

base64、md5、hash

作者: 小羊羊爱吃饭 | 来源:发表于2017-05-24 18:16 被阅读333次

base64:把二进制数据用64个可打印的字符表示,包括可打印的和不可打印的。由于2^6=64,所以6个bit为一组,对应某个可打印字符。三个字节有24个bit,对应24/6=4个base64单元。这64个可打印字符是:
<pre>
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
</pre>
分别对应:0、1、2、3、4……63
转换过程:把3个byte的数据,放入一个24bit的缓冲区。先来的byte占高位,如果不足3byte,缓冲区剩下的bit用0补足。每次取出6个bit,按照它的值选择64个字符中的一个作为编码后的输出,直到全部输入数据转换完成。
栗子:一串二进制数据:001010101101,6个bit为一组,(001010)(101101),分别是10、46,对应字符中的第10、46个,因此这串数字编码后的输出是Ku。
当原数据长度不是3的整数倍时, 如果最后剩下一个输入数据,在编码结果后加2个“=”;如果最后剩下两个输入数据,编码结果后加1个“=”;如果没有剩下任何数据,就什么都不要加,这样做的目的是区分二进制数据最后一位或2位的0是原始数据的0还是为了编码补的0。

hash:
就是把任意长度的输入,通过散列算法,变换成固定长度的输出,这个输出就是hash值,主要作用是校验数据的正确性,不可逆,即:可以通过hash算法把字符串变成固定长度的输出,但是不能根据hash值反解出原来的字符串。

hash算法的几种实现:
md5、md4:输入不定长度信息,输出固定长度128-bits的算法。经过程序流程,生成四个32位数据,最后联合起来成为一个128-bits散列。md5主要用途:在为文件传输提供一定的可靠性,比如:服务器先提供一个文件的md5校验和,用户下载完文件之后,用md5算一下这个文件,和服务器提供的md5做对比,如果一致,表示文件下载正确。

SHA:又叫安全散列算法,是一种能计算出一个数字消息所对应到的,长度固定的字符串的算法。且若输入的消息不同,它们对应到不同字符串的概率很高。

相关文章

  • MD5加密

    MD5 base64 + MD5

  • 两种加密方法

    base64和MD5加密 利用md5,和base64对应用中的敏感数据进行的加密和编码。 md5和base64的区...

  • base64、md5、hash

    base64:把二进制数据用64个可打印的字符表示,包括可打印的和不可打印的。由于2^6=64,所以6个bit为一...

  • iOS之加密解密

    base64与md5 base64 : 公开的代码加密,url加密md5:用户密码存储 文件校验 base64 1...

  • python的MD5加密

    #MD5加密 import hashlib # 创建md5对象 hash= hashlib.md5() hash....

  • 前端js几种加密/解密方法

    一、base64加密 base64的github地址 示例 二、MD5加密(不可逆) MD5加密的github地址...

  • base64和md5的区别

    Base64与MD5的区别: Base64和MD5都可用于做信息的简单加密,两者的简单差别如下: Base64 可...

  • Base64与MD5的区别

    Base64与MD5的区别 Base64和MD5都可用于做信息的简单加密,两者的简单差别如下: Base64: 1...

  • base64和MD5加密

    base64和MD5加密 利用md5,和base64对应用中的敏感数据进行的加密和编码。 1. md5和base6...

  • PHP字符串处理函数

    md5_file() Calculates the md5 hash of a given file md5() ...

网友评论

      本文标题:base64、md5、hash

      本文链接:https://www.haomeiwen.com/subject/pmpoxxtx.html