randomnum.c

来自「用VC实现的一个RSA加密算法」· C语言 代码 · 共 32 行

C
32
字号
#define _WIN32_WINNT 0x400
#include <windows.h>
#include <wincrypt.h>

//随机数生成函数
int random_number(unsigned char *dst, int len, void *dat) 
{
	 HCRYPTPROV hCryptProv;
     if(!CryptAcquireContext(&hCryptProv,NULL,NULL,PROV_RSA_FULL,0))
	 {
		 if(!CryptAcquireContext(&hCryptProv,NULL,NULL,PROV_RSA_FULL,CRYPT_NEWKEYSET))
		 {
			 return 0;
		 }
	 }
     if(&hCryptProv!=NULL) 
	 {
		 if (!CryptGenRandom(hCryptProv,(DWORD)len,(BYTE*)dst))
		 { 
			 return 0;
		 }
	 } 
     if(&hCryptProv!=NULL)
	 {
		 if(!CryptReleaseContext(hCryptProv,0))
		 {
			 return 0;
		 }
	 }
	 return len;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?