⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crypto.cpp

📁 use the base function Crypto API for crypt/decrypt message and view cryptoproviders in your system.(
💻 CPP
字号:
// crypto.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <windows.h>
#include <wincrypt.h>
#include <cstdlib>
#include <windows.h>
#include <iostream>
//#pragma comment(lib,"Advapi32.lib")




#include <malloc.h>
//#pragma comment(lib,"crypt32.lib")
using namespace std;
////////////////////
void designmenu()
{
	cout<<"#####################################################################\n";

}
////////////////////////
void design()
{
cout<<"========================================================================\n";

}


///////////////////////


/////////
int	ViewFuncProvider()
{
//inicial function cryptoapi
WORD dwIndex=0;

DWORD dwType;

DWORD cbName;

char pszName[256];





while (CryptEnumProviders(dwIndex, NULL, 0, &dwType, NULL, &cbName))

{

  if (!cbName)

    break;



  //if (!(pszName = (LPTSTR)LocalAlloc(LMEM_ZEROINIT, cbName)))

    //return 0;



  if (!CryptEnumProvidersA(dwIndex++, NULL, 0, &dwType, pszName, &cbName))

  {

    cout<<"Error CryptEnumProviders"<<endl;

    return 0;

  }



  cout<<"--------------------------------"<<endl;

 cout<<"Provider name: "<<pszName<<endl;

  cout<<"Provider type: "<<dwType<<endl;



  LocalFree(pszName);

}
system("pause");
}

////////

////////
int ViewRegProvider() 
{
 HKEY      hKey;
   LPTSTR    lpszName;
   LONG      lReturn;
   DWORD     dwIndex = 0;
   DWORD     dwNameLen, dwMaxNameLen;
   
   if ( RegOpenKeyExA( HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Cryptography\\Defaults\\Provider", 0, KEY_ALL_ACCESS, &hKey ) == ERROR_SUCCESS )
   {
        RegQueryInfoKey( hKey, NULL, NULL, NULL, NULL, &dwMaxNameLen, NULL, NULL, NULL, NULL, NULL, NULL );
        dwMaxNameLen++;
        lpszName = (LPTSTR)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, dwMaxNameLen );
        do
        {
           dwNameLen = dwMaxNameLen;      
           lReturn = RegEnumKeyEx( hKey, dwIndex, lpszName, &dwNameLen, NULL, NULL, NULL, NULL );
           if ( lReturn != ERROR_NO_MORE_ITEMS )
           {
               cout<<&lpszName<<endl;//恹忸滂

⌨️ 快捷键说明

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