狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當前位置:系統之家 > 技術開發教程 > 詳細頁面

用C++ Builder創建數字簽名

用C++ Builder創建數字簽名

更新時間:2019-10-08 文章作者:未知 信息來源:網絡 閱讀次數:

  如果你在網絡上傳遞一份數據,但卻存在著種種不安全的因素,使你對數據能否原封不動地到達目的地而心存疑惑,這時,你就可以給數據加上數字簽名,從而使對方可以通過驗證簽名來檢查你所傳過去的數據是否已被他人修改。

  一、程序原理

  數字簽名的工作原理還是比較簡單的,它是根據你所提供的原始數據,經過復雜的算法,產生特定的數據簽名,對方通過同樣的過程也產生簽名,如果數據已被修改,那么就不可能得到兩份一模一樣的簽名,從而就可判斷數據已被他人修改。編程人員利用Windows的CAPI接口,就可以實現數據的加密、解密和數字簽名。  

  二、程序清單

  下面用C++ Builder的語句來看一下它的具體實現過程。

  先來創建數字簽名,假定其數據來自于一個文件。

  //變量聲明:

  HCRYPTPROV hProv;

  // CSP的句柄

  HCRYPTHASH hHash;

  // 散列的句柄

  const int BUFFER=4096;

  // 緩沖區大小常數

  BYTE pBuffer[BUFFER];    

  // 存放讀文件內容的緩沖區

  BYTE pSignature[256];

  // 存放簽名的緩沖區

  DWORD dSignatureLen=256;

  // 簽名的長度

  TFileStream *sourceFile;

  // 一個文件流

  if(!CryptAcquireContext(&hProv,NULL,NULL,PROV—RSA—FULL,0))

  // 連接默認的CSP,接受它的句柄放入hProv

  {    

    // 錯誤處理

  }

  if(!CryptCreateHash(hProv,CALG—MD5,0,0,&hHash))

  // 創建一個散列對象,得到它的句柄放入hHash

  {

    // 錯誤處理

  }

  do

  {

   dReadLen=sourceFile-Read(pBuffer,BUFFER);

   if(!CryptHashData(hHash,pBuffer,dReadLen,0))

  // 根據文件的內容計算散列值

   {

    // 錯誤處理

   }

  }while(!(dReadLen

  if(!CryptSignHash(hHash,AT—SIGNATURE,NULL,0,pSignature,&dSignatureLen))

  //使用私人密鑰對散列值進行數字簽名

  //簽名數據放入pSignature,長度放入dSignatureLen

    // 錯誤處理

  }

  對基于文件的數據簽名進行檢驗。

  //變量聲明:

  HCRYPTPROV hProv;

  // CSP的句柄

  HCRYPTHASH hHash;

  // 散列的句柄

  HCRYPTKEY hPublicKey;    

  // 公共密鑰的句柄

  const int BUFFER=4096;  

  // 緩沖區大小常數

  BYTE pBuffer[BUFFER];    

  // 存放讀文件內容的緩沖區

  TFileStream *sourceFile; // 一個文件流

  BYTE pSignature[256];    

  // 上一段得到的簽名的緩沖區

  DWORD dSignatureLen;    

  // 上一段得到的簽名的長度

  if(!CryptAcquireContext(&hProv,NULL,NULL,PROV—RSA—FULL,0))

  // 連接默認的CSP,接受它的句柄放入hProv

  {

    // 錯誤處理

  }

  if(!CryptGetUserKey(hProv,AT_SIGNATURE,&hPublicKey); // 得到公共密鑰的句柄

  {

    // 錯誤處理

  }

  if(!CryptCreateHash(hProv,CALG—MD5,0,0,&hHash)) // 創建一個散列對象,得到它的句柄放入hHash

  {

    // 錯誤處理

  }

  do

  {

   dReadLen=sourceFile-Read(pBuffer,BUFFER);

   if(!CryptHashData(hHash,pBuffer,dReadLen,0))

  // 根據文件的內容計算散列值

   {

    // 錯誤處理

   }

  }while(!(dReadLen

  if(!CryptVerifySignature(hHash,pSignature,dSignatureLen,hPublicKey,NULL,0))

  {

    if(GetLastError()==NTE—BAD—SIGNATURE) ShowMessage(″文件已被修改″);

  }

  else

  {

   ShowMessage(″文件沒被修改″);

  }

  以上是一個數字簽名的簡單實現,得到的簽名數據可以單獨保存,也可以分開保存。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
精品成人免费观看| 国产日韩欧美激情| 香蕉久久久久久久av网站| 免费日韩视频| 日韩一区二区三区精品视频| 欧美大片一区二区| 中文字幕av一区二区三区| 一区二区三区电影在线播| 免费不卡在线视频| www.在线成人| 国产精品欧美日韩一区| 欧美自拍偷拍一区| 中文字幕不卡在线播放| 丝袜美腿亚洲综合| 91视频免费播放| 欧美日韩在线免费视频| 久久久久国产精品人| 日本欧美久久久久免费播放网| 国产成人免费av在线| 国产欧美日韩一区| 亚洲四区在线观看| 国产亲近乱来精品视频| 欧美日韩一区二区三区四区| 亚洲国产精品久久久久久女王| 婷婷开心激情综合| 裸体在线国模精品偷拍| 一区二区三区欧美激情| 国产高清精品网站| 亚洲少妇在线| 国产精品国产三级国产aⅴ无密码| 亚洲电影一区二区三区| 91视频你懂的| 欧美mv日韩mv亚洲| 精品伊人久久久久7777人| 亚洲影音先锋| 亚洲区小说区图片区qvod| 9l国产精品久久久久麻豆| 色婷婷av一区二区三区软件 | 日韩视频一区二区三区在线播放免费观看| 欧美无人高清视频在线观看| 亚洲国产精品精华液网站| 欧美成人69av| 中文字幕精品在线不卡| 成人丝袜18视频在线观看| 欧美一级午夜免费电影| 国产suv精品一区二区三区| 欧美久久久影院| 国产成人av一区二区三区在线观看| 久久久99爱| 久久精品国产在热久久| 欧美性xxxxxxxx| 国产精品77777竹菊影视小说| 欧美性大战xxxxx久久久| 狠狠色丁香婷婷综合久久片| 91精品国产福利在线观看| 国产福利精品导航| 久久综合九色综合欧美亚洲| 欧美片网站免费| 亚洲综合成人在线视频| 在线精品视频免费观看| 国产成人av电影免费在线观看| 欧美精品一区二区三区很污很色的| 99精品视频在线播放观看| 中文字幕日本不卡| 在线观看一区不卡| 99视频精品免费视频| 亚洲精品免费视频| 欧美日本一区二区| 国内精品国语自产拍在线观看| 一区二区三区四区五区视频在线观看| 玖玖精品视频| 99精品久久久久久| 天堂一区二区在线免费观看| 精品裸体舞一区二区三区| 99视频精品免费观看| 国产成人午夜高潮毛片| 亚洲成人av一区二区三区| 欧美成人a视频| 一本大道久久a久久综合| 国产精品观看| voyeur盗摄精品| 麻豆国产精品官网| 一区二区三区国产精华| 精品国产1区二区| 欧美日韩一卡二卡三卡 | 日韩精品一区二区三区蜜臀| 亚洲一区国产一区| 亚洲视频一区| 欧美freesex交免费视频| 国产一区二区三区在线看麻豆| 亚洲高清在线精品| 亚洲精品欧美激情| 亚洲男同性视频| 国产精品久久久久婷婷二区次| 日韩欧美一二三| 欧美男男青年gay1069videost| 亚洲一区二区三区精品动漫| 亚洲午夜精品久久| 激情综合自拍| 日韩午夜av在线| 国产偷自视频区视频一区二区| 伊人久久综合| 国产视频一区三区| 久久av一区二区| 久久激情一区| 欧美福利视频导航| 欧美三级在线播放| 欧美一级生活片| 久久久亚洲综合| 亚洲啪啪综合av一区二区三区| 亚洲欧美综合色| 亚洲国产日产av| 久久99精品久久久久婷婷| 国产精品一区二区久久精品爱涩| 国产一区二区三区在线观看免费视频 | 亚洲一区二区黄色| 美女mm1313爽爽久久久蜜臀| 顶级嫩模精品视频在线看| 91在线观看视频| 亚久久调教视频| 日韩一区二区三区视频在线观看| 久久久久久久综合日本| 亚洲乱码国产乱码精品精可以看| 男人操女人的视频在线观看欧美| 国产一区啦啦啦在线观看| 欧美黄色免费| 在线精品观看国产| 国产精品天美传媒| 卡一卡二国产精品| 欧美激情视频一区二区三区免费| 午夜一级在线看亚洲| 精品福利一二区| 亚洲丰满少妇videoshd| 成人av网站免费观看| 色先锋aa成人| 国产精品伦一区| www.激情成人| 欧美久久久久久蜜桃| 亚洲精品日韩专区silk| 欧美大黄免费观看| 一区二区三区在线看| 美女91精品| 激情久久五月天| 日韩午夜在线观看视频| 久久久精品蜜桃| 麻豆成人免费电影| 精品免费视频.| 亚洲清纯自拍| 久久精品国产亚洲高清剧情介绍 | 久久99精品久久久久婷婷| 欧美图区在线视频| 91日韩一区二区三区| 亚洲欧美成人一区二区三区| 色婷婷综合五月| 91在线丨porny丨国产| 亚洲欧洲综合另类| 欧美视频一区二区三区| 久久电影网电视剧免费观看| 日韩午夜激情av| 在线看片一区| 国内不卡的二区三区中文字幕| 欧美高清视频在线高清观看mv色露露十八 | 在线观看一区二区视频| 国产精品一区二区黑丝| 久久精品夜色噜噜亚洲a∨| 在线一区亚洲| 国产suv精品一区二区三区| 国产精品国产三级国产普通话三级| 久久五月天婷婷| 99精品一区二区| 蜜臀av一级做a爰片久久| 欧美一区二区三区的| 狠狠干成人综合网| 久久精品国产亚洲高清剧情介绍 | 国产伦精品一区二区三区高清版| 麻豆国产精品官网| 国产精品久久看| 欧美午夜影院一区| 国产精品yjizz| 粉嫩嫩av羞羞动漫久久久| 亚洲高清免费在线| 日韩一区欧美小说| 欧美军同video69gay| 国产精品中文有码| 无码av中文一区二区三区桃花岛| 中文无字幕一区二区三区| 欧美成人r级一区二区三区| 日韩欧美亚洲国产另类| 欧美一区二区三区性视频| 久久aⅴ国产紧身牛仔裤| 狠色狠色综合久久| 激情综合亚洲| 欧美成人69| 欧美午夜电影在线观看 | 色综合天天综合色综合av| 国产成人啪免费观看软件| 99精品欧美一区| 激情亚洲综合在线| 美日韩一区二区| 日韩av不卡在线观看|