用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机网络

基于BCB开发具有身份认证功能的邮件发送程序

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 10:07:49
变量
    AnsiString m_64code;    //储存Base64编码的字符串
    char* m_s;              //临时存储参数字符串
    //Base64字符表
    char m_64[]=
      "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    m_len = s.Length();            //取得字符串长度
    m_s = s.c_str();                 
    m_64code="";                        //返回串置空
    //处理3的倍数以内的字符
    for(i=0;i<m_len-m_len%3;i+=3){
        m_tmp=m_s/4;
        m_64code+=m_64[m_tmp];
        m_tmp=m_s%4*16 + m_s[i+1]/16;
        m_64code+=m_64[m_tmp];
        m_tmp=m_s[i+1]%16*4 + m_s[i+2]/64;
        m_64code+=m_64[m_tmp];
        m_tmp=m_s[i+2]%64;
        m_64code+=m_64[m_tmp];
    }
    //如果字符串的长度被3除余2 ,不足的位数补0,尾部补“=
   if(m_len%3==2){
        m_tmp=m_s[m_len-2]/4;
        m_64code+=m_64[m_tmp];
        m_tmp=m_s[m_len-2]%4*16+m_s[m_len-1]/16;
        m_64code+=m_64[m_tmp];
        m_tmp=m_s[m_len-1]%16*4;
        m_64code+=m_64[m_tmp];
        m_64code+='=';
    }
    //如果字符串的长度被3除余1 ,不足的位数补0,尾部补两个“=”
    if(m_len%3==1){
        m_tmp=m_s[m_len-1]/4;
        m_64code+=m_64[m_tmp];
        m_tmp=m_s[m_len-1]%4*16;
        m_64code+=m_64[m_tmp];
        m_64code+="==";
    }
    return m_64code;
}
6  结束语
本程序在Windows 2000环境下使用Borland C++ Builder 6.0编写及调试的,分别使用网易和新浪邮箱做实验,都可以顺利完成身份认证以及邮件发送功能。


参考文献
[1].      王宏、傅新苗、冉欣,《C++ Builder 程序设计教程》,清华大学出版社,2000年3月第一版
[2].      http://www.faqs.org/rfcs/rfc2554.html
[3].      Borland C++ Builder 联机帮助系统

上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:22,578.13000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号