Base64 編譯碼C語言實現

2021-04-28 15:34:40 字數 464 閱讀 6448

本文繼續前文(http://blog.csdn.net/hegch/archive/2009/05/01/4141125.aspx ),前文講述了如何實現base64的編碼,本文給出解碼的**。這裡給出的**是整個完整的編碼和解碼,將加密之後的串解密得到原來的字串。

具體**如下:

這裡新增了兩個方法find_pos和base64_decode。前者是尋找給定字元在base陣列中的位置的,使用了strrchr函式,尋找字元在字串中最後一次的位置,由於總會存在並且僅存在一次,所以函式結果直接使用。base64_decode函式裡邊跟encode函式差不多,我沒有作注釋。

對於**中給定的串,執行結果如下:

original:  那個abcd你好嗎,哈哈,anmol

encoded :  xme49mfiy2te47rdwvcjrln+uf6jrefotu9m

decoded :  那個abcd你好嗎,哈哈,anmol

C語言實現base64編譯碼函式

base64.c base64 created by guofu on 2017 5 25.轉解碼過程 3 8 4 6 3位元組佔24位,4 6 24 先將要編碼的轉成對應的ascii值 如編碼 s 1 3 對應ascii值為 115 49 51 對應二進位制為 01110011 00110001 ...

C語言實現Base64編碼 解碼

bse64是一種以64個可列印字元對二進位制資料進行編碼的編碼演算法。base64在對資料進行編碼時以三個8位字元型資料為一組,取這三個字元型資料的ascii碼,然後以6位為一組組成4個新的資料,這4個新的資料有6位,所以它的最大值為2 6 64。我們以4個6位資料的十進位制數從base64表中得到...

C語言實現Base64編碼 解碼

bse64是一種以64個可列印字元對二進位制資料進行編碼的編碼演算法。base64在對資料進行編碼時以三個8位字元型資料為一組,取這三個字元型資料的ascii碼,然後以6位為一組組成4個新的資料,這4個新的資料有6位,所以它的最大值為2 6 64。我們以4個6位資料的十進位制數從base64表中得到...