cryptapi.h
上传用户:nbcables
上传日期:2007-01-11
资源大小:1243k
文件大小:1k
源码类别:

钩子与API截获

开发平台:

Visual C++

  1. #pragma once
  2. #include "rsaref.h"
  3. #define KEY_TYPE_PAIR 0
  4. #define KEY_TYPE_PUBLIC 1
  5. #define KEY_TYPE_PRIVATE 2
  6. class CRsaCrypt
  7. {
  8. public:
  9. CRsaCrypt(char *m_key_name, char *password, int key_type);
  10. ~CRsaCrypt();
  11. R_RANDOM_STRUCT m_random_struct;
  12. R_RSA_PUBLIC_KEY m_public_key;
  13. R_RSA_PRIVATE_KEY m_private_key;
  14. char m_key_name[60];
  15. char m_password[20];
  16. int m_key_type;
  17. int InitRandomStruct();
  18. int GenRandomBytes(UCHAR  *randomBytes, ULONG  randomBytesLen);
  19. int GenKeyPair(int bits);
  20. int ReadKey();
  21. int PublicEncrypt(unsigned char *input ,int input_len, unsigned char *output, int *output_len);
  22. int PublicDecrypt(unsigned char *input ,int input_len, unsigned char *output, int *output_len);
  23. int PrivateEncrypt(unsigned char *input ,int input_len, unsigned char *output, int *output_len);
  24. int PrivateDecrypt(unsigned char *input ,int input_len, unsigned char *output, int *output_len);
  25. };
  26. /*class CRsaCryptManager
  27. {
  28. public:
  29. int m_ras_crypt_count;
  30. CRsaCrypt *m_prsa_crypt;
  31. int *m_psocket;
  32. CIRITCAL_SECTION m_cs;
  33. CRsaCryptManager();
  34. ~CRsaCryptManager();
  35. CRsaCrypt *AddItem(char *key_name, char *password, int key_type, int socket);
  36. int DeleteItem(int socket);
  37. int DeleteAllItems();
  38. CRsaCrypt *GetItem(int sd);
  39. };
  40. */