美文网首页『ios』进阶
『ios』Base64加密原理 流程

『ios』Base64加密原理 流程

作者: butterflyer | 来源:发表于2018-08-06 17:08 被阅读5次

base64还有其他的各种加密这几年也用了不少了,其实只是用了,为了完成需求而用了。
这些都不能解决实际问题,实际问题是面试的时候没人会问你怎么用,他们会问你了解吗,原理说下,如果你答不上来,
及时你用过,也是0分。

原理:

它是用64个可打印字符表示二进制所有数据方法。
由于2的6次方等于64,所以可以用每6个位元为一个单元,对应某个可打印字符。
三个字节有24个位元,就可以刚好对应于4个Base64单元,即3个字节需要用4个Base64的可打印字符来表示。
在Base64中的可打印字符包括字母A-Z、a-z、数字0-9 ,这样共有62个字符,此外两个可打印符号在不同的系统中一般有所不同。
但是,我们经常所说的Base64另外2个字符是:“+/”。

image.png

上面这张图就是十进制数据对应的字符。
加密的时候我们总是会看到‘===’,这个符号的出现,其实这个只是补位的作用的,

base64凑零的同时,还要满足凑出来的位数是8的倍数,不然就加一个或者两个特殊的六位  =  符号。
为什么是一个或者两个=符号呢? 因为多个8位转为6位 只会出现 剩余 2位,4位的情况,剩余2位 只需要一个 表示六位的 = 便可变为8的整数;而剩余4位 需要两个表示6位的 = 便可以变成16 是8的整数。然后在解密的时候不解析 =即可

需要凑8位的原因。

数需要凑成8的倍数,是因为base64主要用于加密后的数据传送,而在传送机制中都认为传送的最小单位是按照字节算的,所以不能出现不是位总数不是8的倍数的情况,在接收到数据后,按顺序将6位的base64直接按照顺序解密成字节就完成解密了
image.png

看上面这段转换,二进制不足6位补零,不足8位补===,然后把6位的二进制数转为十进制,找对应的字符,就完成转换。

ios自习室欢迎进入,一起学习一起进步。

IMG_7291.JPG

相关文章

  • 『ios』Base64加密原理 流程

    base64还有其他的各种加密这几年也用了不少了,其实只是用了,为了完成需求而用了。这些都不能解决实际问题,实际问...

  • iOS 关于加密

    常见的iOS代码加密常用加密方式包括Base64加密、MD5加密、AES加密、RSA加密等。 Base64加密 B...

  • iOS代码加密常用加密方式

    iOS代码加密常用加密方式,常见的iOS代码加密常用加密方式算法包括MD5加密、AES加密、BASE64加密,三大...

  • iOS常用加密方式

    iOS代码加密常用加密方式,常见的iOS代码加密常用加密方式算法包括MD5加密、AES加密、BASE64加密,三大...

  • iOS加密

    什么是加密? 加密 = 算法 + 钥匙 base64只是编码,不能归类于加密,base64编码原理 算法是固定且公...

  • 总结 iOS中常用的几种加密的方法

    iOS常见的几种加密方法 一. base64加密 将文件进行加密 将文件进行解密 利用终端命令进行base64运算...

  • iOS关于数据加密

    base64: 原理: 使用终端加密演示: 代码方式:

  • python3.0 base64 解密以及base64原理

    python3.0 base64 解密以及base64原理 python3.0 加密 >>> import bas...

  • iOS常用加密方法(aes、base64、md5)

    一. aes加密* or *解密 二. base64加密 * or * 解密AES在iOS加过密以后以NSDat...

  • iOS 数据加密

    iOS 常用加密方式算法包括MD5加密、AES加密、BASE64加密 MD5加密 MD5:全称是Message D...

网友评论

    本文标题:『ios』Base64加密原理 流程

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