亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? codersize.c

?? IBE是一種非對(duì)稱密碼技術(shù)
?? C
字號(hào):
/* Copyright 2003-2006, Voltage Security, all rights reserved.
 */
#include "vibe.h"
#include "environment.h"
#include "base.h"
#include "libctx.h"
#include "securemail.h"
#include "base64.h"
#include "errorctx.h"

int VoltCopyGetEncodeDecodeSize (
   VtAlgorithmObject coder,
   VtRandomObject random,
   unsigned int flagEncodeDecode,
   VoltEncodeDecodeSizeInfo *encodeDecodeSizeInfo
   )
{
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  encodeDecodeSizeInfo->processedDataLen =
    encodeDecodeSizeInfo->dataToProcessLen;

  VOLT_SET_FNCT_LINE (fnctLine)
  VOLT_LOG_ERROR_INFO (
    0, coder, VT_ERROR_BUFFER_TOO_SMALL, 0, VT_ERROR_TYPE_PRIMARY,
    (char *)0, "VoltCopyGetEncodeDecodeSize", fnctLine, (char *)0)

  return (VT_ERROR_BUFFER_TOO_SMALL);
}

int VoltBase64GetEncodeDecodeSize (
   VtAlgorithmObject coder,
   VtRandomObject random,
   unsigned int flagEncodeDecode,
   VoltEncodeDecodeSizeInfo *encodeDecodeSizeInfo
   )
{
  int status;
#if VT_64_BIT_LENGTH == 64
  VtUInt64 totalLen, blockCount, extra, padLen;
#else
  unsigned int totalLen, blockCount, extra, padLen;
#endif
  VoltAlgorithmObject *obj = (VoltAlgorithmObject *)coder;
  VoltEncodeClassCtx *encodeCtx = (VoltEncodeClassCtx *)(obj->classCtx);
  VoltBase64Ctx *base64Ctx = (VoltBase64Ctx *)(encodeCtx->localEncodeCtx);
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  VOLT_SET_FNCT_LINE (fnctLine)
  status = VT_ERROR_BUFFER_TOO_SMALL;
  switch (flagEncodeDecode)
  {
    default:
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VT_ERROR_INVALID_CALL_ORDER;
      break;

    case VOLT_CALLER_ENCODE_UPDATE:
      /* For every binary block of input, there will be one base64
       * block.
       */
#if VT_64_BIT_LENGTH == 64
      totalLen =
        encodeDecodeSizeInfo->dataToProcessLen +
        (VtUInt64)(encodeCtx->unprocessedDataLen);
      blockCount = totalLen / (VtUInt64)(encodeCtx->plainBlockSize);
      encodeDecodeSizeInfo->processedDataLen =
        blockCount * (VtUInt64)(encodeCtx->codedBlockSize);
#else
      totalLen =
        encodeDecodeSizeInfo->dataToProcessLen +
        encodeCtx->unprocessedDataLen;
      blockCount = totalLen / encodeCtx->plainBlockSize;
      encodeDecodeSizeInfo->processedDataLen =
        blockCount * encodeCtx->codedBlockSize;
#endif
      break;

    case VOLT_CALLER_ENCODE_FINAL:
      /* For every binary block of input, there will be one base64
       * block.
       */
#if VT_64_BIT_LENGTH == 64
      totalLen =
        encodeDecodeSizeInfo->dataToProcessLen +
        (VtUInt64)(encodeCtx->unprocessedDataLen);
      blockCount = totalLen / (VtUInt64)(encodeCtx->plainBlockSize);
      encodeDecodeSizeInfo->processedDataLen =
        blockCount * (VtUInt64)(encodeCtx->codedBlockSize);
#else
      totalLen =
        encodeDecodeSizeInfo->dataToProcessLen +
        encodeCtx->unprocessedDataLen;
      blockCount = totalLen / encodeCtx->plainBlockSize;
      encodeDecodeSizeInfo->processedDataLen =
        blockCount * encodeCtx->codedBlockSize;
#endif

      /* For any extra left over, we'll "pad" to a multiple of three
       * and the final output will be 4 bytes for every three.
       * Then we'll add the required number of "=" characters.
       * We'll also need the line feed at the end.
       */
#if VT_64_BIT_LENGTH == 64
      extra = totalLen - (blockCount * (VtUInt64)(encodeCtx->plainBlockSize));
#else
      extra = totalLen - (blockCount * encodeCtx->plainBlockSize);
#endif
      if (extra == 0)
        break;

      padLen = extra % 3;
      if (padLen != 0)
        padLen = 3 - padLen;
      extra += padLen;
      extra = (extra / 3) * 4;
#if VT_64_BIT_LENGTH == 64
      encodeDecodeSizeInfo->processedDataLen +=
        (extra + (VtUInt64)(base64Ctx->newLineLen));
#else
      encodeDecodeSizeInfo->processedDataLen +=
        (extra + base64Ctx->newLineLen);
#endif
      break;

    case VOLT_CALLER_DECODE_UPDATE:
      /* For every 4 bytes of input, there are 3 bytes of output.
       * Actually, there are new line characters that should not be
       * considered part of the total length, however, we're not going
       * to search for them, so we'll use 3/4 * dataToProcessLen. This
       * will produce a number that may be too large.
       */
#if VT_64_BIT_LENGTH == 64
      totalLen =
        encodeDecodeSizeInfo->dataToProcessLen +
        (VtUInt64)(base64Ctx->converterLen);
#else
      totalLen =
        encodeDecodeSizeInfo->dataToProcessLen + base64Ctx->converterLen;
#endif
      encodeDecodeSizeInfo->processedDataLen = (totalLen / 4) * 3;
      break;

    case VOLT_CALLER_DECODE_FINAL:
      /* For every 4 bytes of input, there are 3 bytes of output.
       * Actually, there are new line characters that should not be
       * considered part of the total length, however, we're not going
       * to search for them, so we'll use 3/4 * dataToProcessLen. This
       * will produce a number that may be too large.
       * For Final, the total length of valid characters must be a
       * multiple of 4. If not, there will be an error (if checking).
       * But we don't know yet how many of the characters are invalid,
       * so we'll use the same formula.
       * If there are any leftovers, we may want to deal with them, so
       * find a "padded" length (the + 3).
       */
#if VT_64_BIT_LENGTH == 64
      totalLen =
        encodeDecodeSizeInfo->dataToProcessLen +
        (VtUInt64)(base64Ctx->converterLen);
#else
      totalLen =
        encodeDecodeSizeInfo->dataToProcessLen + base64Ctx->converterLen;
#endif
      encodeDecodeSizeInfo->processedDataLen = ((totalLen + 3) / 4) * 3;
  }

  VOLT_LOG_ERROR_INFO (
    0, coder, status, 0, VT_ERROR_TYPE_PRIMARY,
    (char *)0, "VoltBase64GetEncodeDecodeSize", fnctLine, (char *)0)

  return (status);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美偷拍三级| 在线观看av不卡| 亚洲欧洲精品一区二区三区不卡| 蜜臀久久99精品久久久画质超高清| 亚洲1区2区3区4区| 懂色一区二区三区免费观看 | 99久久伊人久久99| 日韩成人午夜电影| 亚洲色欲色欲www| www国产成人免费观看视频 深夜成人网| 97久久精品人人做人人爽| 九色|91porny| 视频一区二区三区中文字幕| 亚洲日本青草视频在线怡红院| 久久婷婷综合激情| 日韩一区二区视频在线观看| 色婷婷国产精品| 波多野结衣中文字幕一区| 国产一区二区免费在线| 美美哒免费高清在线观看视频一区二区 | 欧美亚一区二区| 顶级嫩模精品视频在线看| 另类欧美日韩国产在线| 亚洲成av人片一区二区梦乃| 亚洲精品国产无套在线观| 日本一二三不卡| 国产丝袜美腿一区二区三区| 日韩免费观看高清完整版| 在线成人午夜影院| 欧美揉bbbbb揉bbbbb| 欧美综合亚洲图片综合区| 91色porny蝌蚪| 97精品国产97久久久久久久久久久久| 国产成人在线影院| 国产经典欧美精品| 国产日韩欧美精品在线| 日韩天堂在线观看| 国产精品一级片| 精品在线一区二区| 久久国产剧场电影| 麻豆精品视频在线观看视频| 日本视频免费一区| 看片网站欧美日韩| 看片的网站亚洲| 卡一卡二国产精品| 精品一区二区三区久久久| 国产在线播放一区| 国产成人精品一区二| 成人av影视在线观看| 99久久婷婷国产综合精品电影| 91香蕉视频在线| 在线看国产一区二区| 欧美日韩国产大片| 日韩欧美一二三| 久久久久久久久岛国免费| 国产嫩草影院久久久久| 综合久久久久综合| 亚洲免费高清视频在线| 一区二区三区日韩精品| 天天操天天色综合| 国产一区在线不卡| 成人av电影在线观看| 欧美丝袜丝交足nylons| 日韩一区二区三| 国产欧美日韩精品一区| 亚洲色图制服诱惑 | 亚洲三级在线播放| 亚洲国产综合视频在线观看| 日本欧美一区二区三区乱码 | 9l国产精品久久久久麻豆| 91久久精品一区二区三| 日韩一区二区中文字幕| 国产精品欧美经典| 亚洲高清视频在线| 国产老肥熟一区二区三区| 99re成人精品视频| 日韩午夜激情av| 亚洲国产精品t66y| 亚洲图片欧美视频| 国产麻豆视频一区二区| 色噜噜偷拍精品综合在线| 日韩三级在线免费观看| 日韩理论电影院| 精品一区二区三区视频| 色香蕉久久蜜桃| 久久一区二区三区四区| 一区二区三区**美女毛片| 韩国v欧美v亚洲v日本v| 在线观看网站黄不卡| 久久久久国产免费免费| 亚洲国产cao| eeuss鲁一区二区三区| 日韩午夜在线观看视频| 亚洲嫩草精品久久| 国产伦精品一区二区三区免费| 在线观看一区二区视频| 国产精品视频免费看| 日韩国产欧美视频| 91丨porny丨在线| 久久免费午夜影院| 日韩在线播放一区二区| 91丨porny丨最新| 国产欧美日韩视频一区二区| 老司机精品视频线观看86| 在线中文字幕一区| 国产女同互慰高潮91漫画| 久久超碰97中文字幕| 欧美性极品少妇| 中文字幕一区二区三区色视频 | 北岛玲一区二区三区四区| 日韩视频一区二区三区在线播放| 亚洲图片你懂的| 国产大陆亚洲精品国产| 欧美一区二区三区视频免费播放 | 国产成人免费9x9x人网站视频| 777午夜精品视频在线播放| 18欧美亚洲精品| 成人污视频在线观看| 日韩欧美在线影院| 婷婷夜色潮精品综合在线| 91福利区一区二区三区| √…a在线天堂一区| 丰满白嫩尤物一区二区| 国产人伦精品一区二区| 国产精选一区二区三区| 2022国产精品视频| 免费观看在线色综合| 88在线观看91蜜桃国自产| 午夜激情综合网| 欧美精品色一区二区三区| 亚洲成人激情综合网| 美日韩一区二区三区| 99综合电影在线视频| 午夜激情一区二区三区| 在线观看国产一区二区| 亚洲欧洲精品成人久久奇米网| 国产一区在线精品| 久久久久国产精品麻豆ai换脸| 黄页网站大全一区二区| 精品久久久久久久久久久久久久久久久| 蜜臀av一区二区| 精品少妇一区二区三区视频免付费 | 国产高清精品在线| 国产亚洲精品久| 成人免费av网站| 亚洲免费成人av| 欧美日韩色一区| 麻豆久久一区二区| 精品99一区二区| 国产91精品精华液一区二区三区| 国产网红主播福利一区二区| 国产v综合v亚洲欧| 中文字幕亚洲成人| 欧美性色综合网| 免费日本视频一区| 2023国产精品自拍| 99视频热这里只有精品免费| 一区二区三区在线播放| 欧美日韩免费电影| 九九国产精品视频| 国产日本欧洲亚洲| 欧美性大战久久久久久久蜜臀| 全国精品久久少妇| 久久伊99综合婷婷久久伊| a亚洲天堂av| 无码av免费一区二区三区试看| 欧美成人性战久久| 99re这里都是精品| 青椒成人免费视频| 国产精品久久久久影院老司 | 日韩一区二区麻豆国产| 国产中文一区二区三区| 国产精品久久久久久久久免费丝袜 | 91丝袜高跟美女视频| 三级欧美韩日大片在线看| 久久女同精品一区二区| 在线观看国产精品网站| 狠狠色综合日日| 亚洲精品乱码久久久久久黑人| 欧美一级理论性理论a| 成人av中文字幕| 日韩成人伦理电影在线观看| 久久亚洲捆绑美女| 日本黄色一区二区| 韩国女主播一区| 午夜欧美视频在线观看| 国产喂奶挤奶一区二区三区| 91福利在线看| 国产精品性做久久久久久| 亚洲国产综合色| 国产日韩v精品一区二区| 911精品产国品一二三产区| 不卡在线观看av| 精品一区二区三区在线播放视频 | 欧美成人精品高清在线播放| 粉嫩aⅴ一区二区三区四区五区 | 裸体一区二区三区| 亚洲欧美偷拍三级| 国产日韩欧美在线一区| 欧美猛男超大videosgay|