用crypto api 实现公钥加密,私钥解密

本文介绍了如何在Visual Studio 2003环境下,利用Microsoft Enhanced Cryptographic Provider v1.0进行公钥加密和私钥解密的过程。在尝试使用SafeSign CSP Version 1.0时遇到问题,同时探讨了dwBufLen的计算方法,分享了一段成功的加密解密代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    终于使用Microsoft Enhanced Cryptographic Provider v1.0 实现了公钥加密和解密,但SafeSign CSP Version 1.0不能,不知为什么,有高手能解答吗?
另外dwBufLen 怎样计算才好,我取100,出编号234错,便取了200。
以下程序在VS2003下调试成功
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
#include <wincrypt.h>



void HandleError(char *s);


#define SA_SIGN_PROV       "SafeSign CSP Version 1.0"


int _tmain(int argc, _TCHAR* argv[])
{
     HCRYPTPROV hCryptProv;
  HCRYPTKEY hXchgKey; //交换密钥
     BYTE pbData[1000];
     DWORD cbData;


     printf("A cryptographic provider will acquired. /n");
     char ch;


     //--------------------------------------------------------------------


     
     //访问CSP
     if(CryptAcquireContext(
 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值