用C++做微信公衆平臺開發的後臺開發時,用sha1加密驗證的方法

微信公衆平臺開發時,需要驗證消息是否來自微信服務器,這要用到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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章