国产探花免费观看_亚洲丰满少妇自慰呻吟_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 主站蜘蛛池模板:
凤庆县
|
青岛市
|
韩城市
|
喀什市
|
呼和浩特市
|
盐池县
|
开阳县
|
杨浦区
|
松桃
|
昔阳县
|
林州市
|
泸水县
|
高碑店市
|
京山县
|
上林县
|
甘洛县
|
左贡县
|
贺兰县
|
简阳市
|
百色市
|
大竹县
|
云和县
|
阳曲县
|
烟台市
|
廊坊市
|
法库县
|
邯郸市
|
巴东县
|
健康
|
饶阳县
|
新乐市
|
白山市
|
页游
|
江山市
|
涪陵区
|
土默特左旗
|
梓潼县
|
荆门市
|
高密市
|
大安市
|
崇左市
|