程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> 用CryptoAPI進行數據加密

用CryptoAPI進行數據加密

編輯:vc教程

因為過於復雜的加密算法實現起來非常困難,所以在過去,許多應用程序只能使用非常簡單的加密技術,這樣做的結果就是加密的數據很容易就可以被人破譯。而使用Microsoft提供的加密應用程序接口(即Cryptography API),或稱CryptoAPI,就可以方便地在應用程序中加入強大的加密功能,而不必考慮基本的算法。本文將對CryptoAPI及其使用的數據加密原理作一簡單的介紹,然後給出了用CryptoAPI編寫加密程序的大致步驟,最後以一個文件的加密、解密程序為例演示了CryptoAPI的部分功能。

1. CryptoAPI簡介

CryptoAPI是一組函數,為了完成數學計算,必須具有密碼服務提供者模塊(CSP)。Microsoft通過捆綁RSA Base Provider在操作級提供一個CSP,使用RSA公司的公鑰加密算法,更多的CSP可以根據需要增加到應用中。事實上,CSP有可能與特殊硬件設備(如智能卡)一起來進行數據加密。CryptoAPI接口允許簡單的函數調用來加密數據,交換公鑰,散列一個消息來建立摘要以及生成數字簽名。它還提供高級的管理操作,如從一組可能的CSP中使用一個CSP。此外,CryptoAPI還為許多高級安全性服務提供了基礎,包括用於電子商務的SET,用於加密客戶機/服務器消息的PCT,用於在各個平台之間來回傳遞機密數據和密鑰的PFX,代碼簽名等等。CryptoAPI的體系結構如下圖:

目前支持CryptoAPI的Windows系統有:Windows 95 OSR2、Windows NT SP3及後續版本、Windows 98、Windows 2000等。CryptoAPI的配置信息存儲在注冊表中,包括如下密鑰:

HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft \ Cryptography \Defaults
HKEY_CURRENT_USER\ Software \ Microsoft
\ Cryptography \Providers

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved