微软的地穴库演示

在业余时间,我实现了一个简单的Visual C ++应用程序,以展示Microsoft Crypt库的功能。 使用MD5校验和和RC4加密/解密,已实现并测试了以下功能:

  • 布尔GetChecksumBuffer(ALG_ID nAlgorithm,LPBYTE lpszOutputBuffer,DWORD&dwOutputLength,LPBYTE lpszInputBuffer,DWORD dwInputLength);
  • 布尔GetChecksumString(ALG_ID nAlgorithm,CString&strResult,CString strBuffer);
  • 布尔GetChecksumFile(ALG_ID nAlgorithm,CString&strResult,CString strPathName);
  • BOOL EncryptBuffer(ALG_ID nAlgorithm,LPBYTE lpszOutputBuffer,DWORD和dwOutputLength,LPBYTE lpszInputBuffer,DWORD dwInputLength,LPBYTE lpszSecretKey,DWORD dwSecretKey);
  • BOOL EncryptFile(ALG_ID nAlgorithm,CString strOutputName,CString strInputName,LPBYTE lpszSecretKey,DWORD dwSecretKey);
  • BOOL DecryptBuffer(ALG_ID nAlgorithm,LPBYTE lpszOutputBuffer,DWORD和dwOutputLength,LPBYTE lpszInputBuffer,DWORD dwInputLength,LPBYTE lpszSecretKey,DWORD dwSecretKey);
  • 布尔DecryptFile(ALG_ID nAlgorithm,CString strOutputName,CString strInputName,LPBYTE lpszSecretKey,DWORD dwSecretKey);
该演示应用程序使用计算机名称作为加密/解密的秘密密钥。 目标操作系统:32位Windows 2000,XP,Vista,7。许可证:GNU通用公共许可证版本3(GPLv3)。

这是程序的示例用法

CString strBuffer1 = _T("abc"), strResult1;
VERIFY(GetChecksumString(CALG_MD5, strResult1, strBuffer1));
TRACE(_T("MD5(%s) => %s\n"), strBuffer1, strResult1); 
CString strBuffer2 = _T("abc"), strResult2;
VERIFY(GetChecksumFile(CALG_SHA1, strResult2, _T("D:\\AddressBook.csv")));
TRACE(_T("SHA1(%s) => %s\n"), strBuffer2, strResult2); 
CString strSecretKey = GetComputerID();
LPBYTE lpszSecretKey = (LPBYTE)(LPCTSTR)strSecretKey;
DWORD dwSecretKey = (strSecretKey.GetLength() + 1) * sizeof(TCHAR);
CString strFilename = _T("D:\\AddressBook.csv");
CString strEncrypt = _T("D:\\AddressBook.rc4");
CString strDecrypt = _T("D:\\AddressBook.txt");
VERIFY(EncryptFile(CALG_RC4, strEncrypt, strFilename, lpszSecretKey, dwSecretKey));
VERIFY(DecryptFile(CALG_RC4, strDecrypt, strEncrypt, lpszSecretKey, dwSecretKey));
附加的文件
文件类型:zip CryptLibraryDemo.zip (1.73 MB,149视图)

From: https://bytes.com/topic/apis/insights/915015-demo-microsofts-crypt-library

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值