c++實現 base64 字串編碼解碼(gcc編譯)。
1/**執行測試結果:2* @brief c++ base64 編譯碼
3* @author wid
4* @date 2013-20-255*
67*/8
9 #include 10 #include
11 #include 12
13//
base64 編譯碼函式宣告
14 std::string b64encodestring(const std::string &strstring); //
對 ascii 字串進行 base64 編碼
15 std::string b64decodestring(const std::string &strstring); //
對 base64 編碼後的字串進行解碼
1617
//base64 編譯碼函式實現
18/**19
* @brief 對 ascii 字串進行 base64 編碼20*
21* @param strstring 待編碼的字串22*
23* @return srs::string 返回編碼後的字串24*
25* @note 對於字串中含有非 ascii 字串型的字元, **將丟擲 std::string 型異常, 請捕獲
26*/
27 std::string b64encodestring(const std::string &strstring)
2849
50switch(nbytesrc%3)51
7273
return
pszencode.c_str();74}
7576/**
77* @brief 對 base64 編碼後的字串進行解碼78*
79* @param strstring 待解碼的字串80*
81* @return std::string 返回解碼後的字串82*
83* @note 對於非base64編碼的字串或已損壞的base64字串進行解碼會丟擲 std::string 型異常, 請捕獲
84*/
85 std::string b64decodestring(const std::string &strstring)86;
104105
if(nbytesrc%4 != 0
)106
throw
"bad base64 string";
107108 std::string pszdecode(nbytesrc*3/4+4, '\0'
);109
int nloop = pszsource[nbytesrc-1] == '
=' ? nbytesrc - 4
: nbytesrc;
110int b[4
];111
int i = 0, n = 0
;112
for(i = 0; i < nloop; i += 4
)113
125126
if( pszsource[nbytesrc-1] == '
=' && pszsource[nbytesrc-2] == '='
)127
135136
if( pszsource[nbytesrc-1] == '
=' && pszsource[nbytesrc-2] != '='
)137
147148
if( pszsource[nbytesrc-1] != '
=' && pszsource[nbytesrc-2] != '='
)149 pszdecode[n] = '\0'
;150
151return
pszdecode;
152}
153154
//測試
155int
main()
156
C Base64解碼小工具編寫
1 介面如下 2 關鍵 如下 var reqstr txtinput.text.trim 輸入字串 var resstr 輸出結果 var errmsg if reqstr.length 0 catch exception ex catch exception ex2 view code 說明 2....
c base64演算法解密
將字串使用base64演算法加密 編碼型別 編碼名稱 頁 名稱 1200 utf 16le utf 16 ucs 2 unicode 或 iso 10646 ucs 2 1201 將字串使用base64演算法加密 編碼型別 編碼名稱 頁 名稱 1200 utf 16le utf 16 ucs 2 u...
C base64 加密解密
base64加密 加密採用的編碼方式 待加密的明文 public static string encodebase64 encoding encode,string source catch return str base64加密,採用utf8編碼方式加密 待加密的明文 加密後的字串 public ...