java加密解密代码_base64位加密解密原理及js代码实现
base64位加密解密原理及js代碼實現
在網上找了很多關于Base64加密解密的原理以一個比較通俗易懂的方式理解整理了一下大致原理如下 先上base64對照表
#加密
#1:將明文對照以acsii碼表轉換成一個8位二進制的數
#2:將轉換后的數據已每次取六位依次取出來轉換成十進制
#3:將轉換出來的十進制數對照Base64對應表轉換成字符
來個實例 如加密 asd
加密后的結果即YWJz 上面的加密是3個字母進行加密剛好24位是6的倍數。也有不是6的倍數的情況。這種情況下需要加0補充到6位,還需要注意的是。在剩余位數不是8的倍數的情況下需要補等號湊齊8的倍數。(至于為什么要補等號還是理解不了)一個等號也是按6位處理,剩余2位時補一個等號 剩余4位時補兩個等號
加密后的結果即YWI=
#解密
了解了加密原理后逆向解密的原理也就很容易弄懂了。將密文按照對照表獲得十進制數,將十進制轉換成二進制取低六位整合在一起后八位八位的取進行解密即可
對YWJz進行解密
Y => 24 => 00011000
W => 22 => 00010110
J => 9 => 00001001
z => 57 => 00111001
各取低六位組合在一起的結果:011000 010110 001001 111001
依次取8位的結果:01100001 01100010 011111001
轉換為十進制的結果:98 98 115 =>abs
上面的解密是密文中不帶=的,對于密文中帶=直接將=去除掉即可
如解密YWI=
Y => 24 => 00011000 W => 22 => 00010110 I => 8 => 00000100
各取低六位組合在一起的結果:011000 010110 001000
依次取8位的結果:01100001 01100010 00(舍去即可)
轉換為十進制的結果:97 98 =>ab
總結
以上是生活随笔為你收集整理的java加密解密代码_base64位加密解密原理及js代码实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中if brthon环境安装
- 下一篇: java 排序_Java中常见的排序算法