資源簡介
C++郵箱實現直接可用(@qq,@163)類函數豐富,使用openssl,vs2013測試通過,不同郵箱需更改服務器。
代碼片段和文件信息
/*?
???base64.cpp?and?base64.h
???Copyright?(C)?2004-2008?Ren?Nyffenegger
???This?source?code?is?provided?‘as-is‘?without?any?express?or?implied
???warranty.?In?no?event?will?the?author?be?held?liable?for?any?damages
???arising?from?the?use?of?this?software.
???Permission?is?granted?to?anyone?to?use?this?software?for?any?purpose
???including?commercial?applications?and?to?alter?it?and?redistribute?it
???freely?subject?to?the?following?restrictions:
???1.?The?origin?of?this?source?code?must?not?be?misrepresented;?you?must?not
??????claim?that?you?wrote?the?original?source?code.?If?you?use?this?source?code
??????in?a?product?an?acknowledgment?in?the?product?documentation?would?be
??????appreciated?but?is?not?required.
???2.?Altered?source?versions?must?be?plainly?marked?as?such?and?must?not?be
??????misrepresented?as?being?the?original?source?code.
???3.?This?notice?may?not?be?removed?or?altered?from?any?source?distribution.
???Ren?Nyffenegger?rene.nyffenegger@adp-gmbh.ch
*/
#include?“base64.h“
#include?
static?const?std::string?base64_chars?=?
?????????????“ABCDEFGHIJKLMNOPQRSTUVWXYZ“
?????????????“abcdefghijklmnopqrstuvwxyz“
?????????????“0123456789+/“;
static?inline?bool?is_base64(unsigned?char?c)?
{
??return?(isalnum(c)?||?(c?==?‘+‘)?||?(c?==?‘/‘));
}
std::string?base64_encode(unsigned?char?const*?bytes_to_encode?unsigned?int?in_len)?
{
??std::string?ret;
??int?i?=?0?j?=?0;
??unsigned?char?char_array_3[3]?char_array_4[4];
??while?(in_len--)
{
????char_array_3[i++]?=?*(bytes_to_encode++);
????if?(i?==?3)?
{
??????char_array_4[0]?=?(char_array_3[0]?&?0xfc)?>>?2;
??????char_array_4[1]?=?((char_array_3[0]?&?0x03)?<4)?+?((char_array_3[1]?&?0xf0)?>>?4);
??????char_array_4[2]?=?((char_array_3[1]?&?0x0f)?<2)?+?((char_array_3[2]?&?0xc0)?>>?6);
??????char_array_4[3]?=?char_array_3[2]?&?0x3f;
??????for(i?=?0;?(i?<4)?;?i++)
????????ret?+=?base64_chars[char_array_4[i]];
??????i?=?0;
????}
??}
??if?(i)
??{
????for(j?=?i;?j?3;?j++)
??????char_array_3[j]?=?‘\0‘;
????char_array_4[0]?=?(char_array_3[0]?&?0xfc)?>>?2;
????char_array_4[1]?=?((char_array_3[0]?&?0x03)?<4)?+?((char_array_3[1]?&?0xf0)?>>?4);
????char_array_4[2]?=?((char_array_3[1]?&?0x0f)?<2)?+?((char_array_3[2]?&?0xc0)?>>?6);
????char_array_4[3]?=?char_array_3[2]?&?0x3f;
????for?(j?=?0;?(j???????ret?+=?base64_chars[char_array_4[j]];
????while((i++?3))
??????ret?+=?‘=‘;
??}
??return?ret;
}
std::string?base64_decode(std::string?const&?encoded_string)?
{
??int?in_len?=?encoded_string.size();
??int?i?=?0?j?=?0?in_?=?0;
??unsigned?char?char_array_4[4]?char_array_3[3];
??std::string?ret;
??while?(in_len--?&&?(?encoded_string[in_]?!=?‘=‘)?&&?is_base64(encoded_string[in_]))?
{
????char_array_4[i++]?=?encoded_string[in_];?in_++;
????if?(i?==4)?{
??????for?(i?=?0;?i?<4;?i++)
????????char_array_4[i]?=?base64_chars.find(char_array_4[i]);
?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????17536??2013-08-17?11:22??CSmtp_v2_4_ssl-直接可用@qq\Article?Source.htm
?????文件????????874??2010-08-09?13:32??CSmtp_v2_4_ssl-直接可用@qq\Backup\CSmtp.sln
?????文件???????3844??2008-08-18?14:23??CSmtp_v2_4_ssl-直接可用@qq\ba
?????文件????????190??2008-07-18?20:30??CSmtp_v2_4_ssl-直接可用@qq\ba
?????文件??????76596??2017-02-28?13:44??CSmtp_v2_4_ssl-直接可用@qq\CSmtp.cpp
?????文件???????7298??2015-10-22?20:47??CSmtp_v2_4_ssl-直接可用@qq\CSmtp.h
?????文件???38338560??2017-03-02?14:35??CSmtp_v2_4_ssl-直接可用@qq\CSmtp.sdf
?????文件????????955??2017-02-28?11:41??CSmtp_v2_4_ssl-直接可用@qq\CSmtp.sln
????..A..H.?????17920??2017-03-02?14:35??CSmtp_v2_4_ssl-直接可用@qq\CSmtp.v12.suo
?????文件???????6477??2010-08-20?20:26??CSmtp_v2_4_ssl-直接可用@qq\CSmtp.vcproj
?????文件???????7238??2017-02-28?11:41??CSmtp_v2_4_ssl-直接可用@qq\CSmtp.vcxproj
?????文件???????1475??2017-02-28?11:41??CSmtp_v2_4_ssl-直接可用@qq\CSmtp.vcxproj.filters
?????文件?????141050??2017-02-28?11:42??CSmtp_v2_4_ssl-直接可用@qq\Debug\ba
?????文件????2202624??2017-02-28?14:47??CSmtp_v2_4_ssl-直接可用@qq\Debug\CSmtp.exe
?????文件????5547784??2017-02-28?14:47??CSmtp_v2_4_ssl-直接可用@qq\Debug\CSmtp.ilk
?????文件???????1470??2017-02-28?14:47??CSmtp_v2_4_ssl-直接可用@qq\Debug\CSmtp.log
?????文件?????708761??2017-02-28?14:29??CSmtp_v2_4_ssl-直接可用@qq\Debug\CSmtp.obj
?????文件????9342976??2017-02-28?14:47??CSmtp_v2_4_ssl-直接可用@qq\Debug\CSmtp.pdb
?????文件???????3026??2017-02-28?14:47??CSmtp_v2_4_ssl-直接可用@qq\Debug\CSmtp.tlog\cl.command.1.tlog
?????文件??????98526??2017-02-28?14:47??CSmtp_v2_4_ssl-直接可用@qq\Debug\CSmtp.tlog\CL.read.1.tlog
?????文件???????3092??2017-02-28?14:47??CSmtp_v2_4_ssl-直接可用@qq\Debug\CSmtp.tlog\CL.write.1.tlog
?????文件????????178??2017-02-28?14:47??CSmtp_v2_4_ssl-直接可用@qq\Debug\CSmtp.tlog\CSmtp.lastbuildstate
?????文件???????1482??2017-02-28?14:47??CSmtp_v2_4_ssl-直接可用@qq\Debug\CSmtp.tlog\li
?????文件???????3764??2017-02-28?14:47??CSmtp_v2_4_ssl-直接可用@qq\Debug\CSmtp.tlog\li
?????文件????????862??2017-02-28?14:47??CSmtp_v2_4_ssl-直接可用@qq\Debug\CSmtp.tlog\li
?????文件?????219460??2017-02-28?14:47??CSmtp_v2_4_ssl-直接可用@qq\Debug\main.obj
?????文件?????287653??2017-02-28?11:42??CSmtp_v2_4_ssl-直接可用@qq\Debug\md5.obj
?????文件????1182720??2017-02-28?14:47??CSmtp_v2_4_ssl-直接可用@qq\Debug\vc120.idb
?????文件?????544768??2017-02-28?14:47??CSmtp_v2_4_ssl-直接可用@qq\Debug\vc120.pdb
?????文件???????1877??2017-03-02?14:30??CSmtp_v2_4_ssl-直接可用@qq\main.cpp
............此處省略85個文件信息
評論
共有 條評論