国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本
首頁
|
新聞
|
娛樂
|
游戲
|
科普
|
文學
|
編程
|
系統
|
數據庫
|
建站
|
學院
|
產品
|
網管
|
維修
|
辦公
|
熱點
首頁
>
編程
>
C++
> 正文
用C++Builder創建數字簽名
2019-09-06 23:33:44
字體:
大
中
小
來源:
轉載
供稿:網友
如果你在網絡上傳遞一份數據,但卻存在著種種不安全的因素,使你對數據能否原封不動地到達目的地而心存疑惑,這時,你就可以給數據加上數字簽名,從而使對方可以通過驗證簽名來檢查你所傳過去的數據是否已被他人修改。
一、程序原理
數字簽名的工作原理還是比較簡單的,它是根據你所提供的原始數據,經過復雜的算法,產生特定的數據簽名,對方通過同樣的過程也產生簽名,如果數據已被修改,那么就不可能得到兩份一模一樣的簽名,從而就可判斷數據已被他人修改。編程人員利用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 主站蜘蛛池模板:
南岸区
|
齐齐哈尔市
|
鹤岗市
|
忻城县
|
鸡东县
|
陇西县
|
桂东县
|
江川县
|
安西县
|
铁力市
|
高淳县
|
治多县
|
府谷县
|
巴南区
|
汨罗市
|
玛纳斯县
|
西贡区
|
五家渠市
|
墨脱县
|
黔西县
|
昔阳县
|
西藏
|
张家川
|
广平县
|
宁明县
|
耿马
|
北宁市
|
开阳县
|
房产
|
康平县
|
阳江市
|
五家渠市
|
馆陶县
|
桃园县
|
小金县
|
桑植县
|
莎车县
|
华容县
|
贞丰县
|
新和县
|
台北县
|