用C++做微信公众平台开发的后台开发时,用sha1加密验证的方法

时间:2014-10-15 17:36:11   收藏:0   阅读:1059

微信公众平台开发时,需要验证消息是否来自微信服务器,这要用到sha1加密算法,官网上给的是php的sha函数,C++中要用到下面这个函数:

一、引入头文件:

#include<openssl/sha.h>

#include<inttypes.h>

二、用这个函数转码:

//函数功能:将传入的字符串用sha1加密算法加密后传出
//strOriginal:原始字符串
//返回值:加密后的字符串
stringGetSha1Str(const string& strOriginal)
{
    unsigned char digest[20] = {0};
    ::SHA1((const unsignedchar*)strOriginal.c_str(), strOriginal.length(), digest);
    string strResult;
    char sHexStr[32];
    for( uint32_t i = 0; i < sizeof(digest);i++ )
    {
        snprintf( sHexStr, sizeof(sHexStr),"%x%x", ((int)digest[i] & 0xf0) >> 4, ((int)digest[i] &0x0f) );
        strResult.append(sHexStr);
    }
    return strResult;
}

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!