<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      // CPPdesTest.cpp : 定義控制臺應用程序的入口點。
      //

      #include "stdafx.h"
      //#include <windows.h>
      //#include <fstream>
      //#include "DES.h"

      #include <stdio.h>
      #include <windows.h>
      #include <wincrypt.h>
      #pragma comment( lib, "Advapi32.lib" )

      std::string string_To_UTF8(const std::string & str)
      {
      int nwLen = ::MultiByteToWideChar(CP_ACP, 0, str.c_str(), -1, NULL, 0);

      wchar_t * pwBuf = new wchar_t[nwLen + 1];//一定要加1,不然會出現尾巴
      ZeroMemory(pwBuf, nwLen * 2 + 2);

      ::MultiByteToWideChar(CP_ACP, 0, str.c_str(), str.length(), pwBuf, nwLen);

      int nLen = ::WideCharToMultiByte(CP_UTF8, 0, pwBuf, -1, NULL, NULL, NULL, NULL);

      char * pBuf = new char[nLen + 1];
      ZeroMemory(pBuf, nLen + 1);

      ::WideCharToMultiByte(CP_UTF8, 0, pwBuf, nwLen, pBuf, nLen, NULL, NULL);

      std::string retStr(pBuf);

      delete[]pwBuf;
      delete[]pBuf;

      pwBuf = NULL;
      pBuf = NULL;

      return retStr;
      }

      //
      // for DES
      //

      typedef struct
      {
      BLOBHEADER header;
      DWORD cbKeySize;
      BYTE rgbKeyData[8];
      }KeyBlob;

      LPSTR ConvertGBKToUtf8(LPSTR strGBK)
      {
      int len = MultiByteToWideChar(CP_ACP, 0, (LPSTR)strGBK, -1, NULL, 0);
      wchar_t * wszUtf8 = new wchar_t[len + 1];
      memset(wszUtf8, 0, len * 2 + 2);
      MultiByteToWideChar(CP_ACP, 0, (LPSTR)strGBK, -1, wszUtf8, len);

      len = WideCharToMultiByte(CP_UTF8, 0, wszUtf8, -1, NULL, 0, NULL, NULL);
      char *szUtf8 = new char[len + 1];
      memset(szUtf8, 0, len + 1);
      WideCharToMultiByte(CP_UTF8, 0, wszUtf8, -1, szUtf8, len, NULL, NULL);

      return szUtf8;
      }

      void Base64Encode(BYTE *src, int src_len, BYTE *dst)
      {

      int i = 0, j = 0;

      char base64_map[65] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

      for (; i < src_len - src_len % 3; i += 3) {

      dst[j++] = base64_map[(src[i] >> 2) & 0x3F];

      dst[j++] = base64_map[((src[i] << 4) & 0x30) + ((src[i + 1] >> 4) & 0xF)];

      dst[j++] = base64_map[((src[i + 1] << 2) & 0x3C) + ((src[i + 2] >> 6) & 0x3)];

      dst[j++] = base64_map[src[i + 2] & 0x3F];

      }

      if (src_len % 3 == 1) {

      dst[j++] = base64_map[(src[i] >> 2) & 0x3F];

      dst[j++] = base64_map[(src[i] << 4) & 0x30];

      dst[j++] = '=';

      dst[j++] = '=';

      }
      else if (src_len % 3 == 2) {

      dst[j++] = base64_map[(src[i] >> 2) & 0x3F];

      dst[j++] = base64_map[((src[i] << 4) & 0x30) + ((src[i + 1] >> 4) & 0xF)];

      dst[j++] = base64_map[(src[i + 1] << 2) & 0x3C];

      dst[j++] = '=';

      }

      dst[j] = '\0';

      }

      DWORD DesEncrypt(char* szEncrypt, char* szKey, BYTE* szOut, DWORD nOutLen)
      {
      char* sz_utf8_buff = ConvertGBKToUtf8(szEncrypt);

      DWORD dwEncrypt = strlen(sz_utf8_buff);

      if (szOut == NULL || \
      nOutLen < dwEncrypt + 8 - (dwEncrypt % 8) || \
      strlen(szKey) < 8)
      return 0;
      memcpy(szOut, sz_utf8_buff, dwEncrypt);

      //
      // init
      //

      HCRYPTPROV hProv = NULL;
      HCRYPTKEY hSessionKey = NULL;
      BOOL bResult = TRUE;

      KeyBlob blob;
      blob.header.bType = PLAINTEXTKEYBLOB;
      blob.header.bVersion = CUR_BLOB_VERSION;
      blob.header.reserved = 0;
      blob.header.aiKeyAlg = CALG_DES;
      blob.cbKeySize = 8;
      memcpy(blob.rgbKeyData, szKey, 8);

      BYTE IV[9] = { 0 };
      memcpy(IV, szKey, 8);

      //
      // start
      //

      CryptAcquireContext(&hProv, NULL, MS_DEF_PROV, PROV_RSA_FULL, 0);
      CryptImportKey(hProv, (BYTE*)&blob, sizeof(blob), 0, 0, &hSessionKey);
      CryptSetKeyParam(hSessionKey, KP_IV, (BYTE*)IV, 0);

      //
      // Do
      //

      CryptEncrypt(hSessionKey, NULL, TRUE, 0, (BYTE*)szOut, &dwEncrypt, nOutLen);

      //
      // Clean
      //

      CryptDestroyKey(hSessionKey);
      CryptReleaseContext(hProv, 0);
      delete sz_utf8_buff;

      return dwEncrypt;
      }

      char* Encrypt(char* sz_encrypt, char* sz_key)
      {
      BYTE szOut[1024] = { 0 };

      //
      // do Des crypt
      //

      DWORD dwRet = DesEncrypt(sz_encrypt, sz_key, szOut, 1024);

      //
      // do base64
      //

      int nLen = strlen((char*)szOut);
      int nLenOut = nLen * 4 / 3;
      BYTE* szBase64 = new BYTE[nLenOut + 1];

      memset(szBase64, 0, nLenOut + 1);

      Base64Encode(szOut, nLen, szBase64);

      return (char*)szBase64;
      }


      int _tmain(int argc, _TCHAR* argv[])
      {
      string strParameter = "currentpage=1&pagesize=1000000&starttime=1514736000&endtime=1514822399&paystatus=";
      string k = "punr8ucu";
      string strRequest = "";//xlthPeJpBC4cqLKTf2zpi8I8c3vzPf606LZkwaKLpdaJ6GwXiPaVKg0SWEB4gWspMnO9st2IDJdSmNH8r1VQkpPahPkQPeb+caXgbdb0hO62GEQOV8fxrw==

      strParameter = string_To_UTF8(strParameter);
      k = string_To_UTF8(k);

      strRequest = Encrypt("currentpage=1&pagesize=1000000&starttime=1514736000&endtime=1514822399&paystatus=", "punr8ucu");
      getchar();
      return 0;
      }

       

      posted on 2018-01-15 13:59  陳孝勇  閱讀(589)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 亚洲av第一区二区三区| 久久精品人妻无码一区二区三区| 蜜臀av性久久久久蜜臀aⅴ麻豆| 97人妻中文字幕总站| 国产精品欧美福利久久| 国产精品亚洲一区二区在| 视频一区二区三区四区五区| 亚洲国产成人精品无码区蜜柚| 亚洲一区二区偷拍精品| 亚洲男人av天堂久久资源| 中文字幕国产在线精品| 人妻互换一二三区激情视频| 亚洲无码在线免费观看| 国内外成人综合免费视频| 三上悠亚精品一区二区久久| 激情国产一区二区三区四区| 加勒比中文字幕无码一区| 中文字幕波多野不卡一区| 亚洲精品一区二区区别| 国产乱色国产精品免费视频 | 午夜亚洲AV日韩AV无码大全| 桂林市| 久久精品无码免费不卡| 翘臀少妇被扒开屁股日出水爆乳| 中国凸偷窥xxxx自由视频| 亚洲av一区二区在线看| 国产成人综合色就色综合| 日本妇人成熟免费| 亚洲码亚洲码天堂码三区| 亚洲V天堂V手机在线| 人妻体内射精一区二区三区| 男女一级国产片免费视频| 亚洲成av人片在www鸭子| 露脸叫床粗话东北少妇| 老色鬼在线精品视频在线观看| 国产高清亚洲一区亚洲二区| 国产毛片基地| 日本一区三区高清视频| 中文激情一区二区三区四区| 亚洲综合伊人久久大杳蕉| 国产亚洲精品aaaa片app|