passwrd.h
上传用户:maryhy001
上传日期:2007-05-02
资源大小:2317k
文件大小:1k
源码类别:

网格计算

开发平台:

Visual C++

  1. // Passwrd.h: interface for the CPasswrd class.
  2. #ifndef _PASSWRD_HLPER_
  3. #define _PASSWRD_HLPER_
  4. extern "C"
  5. {
  6. #include "author.h"
  7. }
  8. /*
  9.  * Class Name: CPasswrd
  10.  * Purpose Description: System Password info Encrypting or Unencrypting Helper.
  11.  * Author Name/Address: devia lee / lixiaofei@geasp.com
  12.  * Creation Time    : 2004/07/01
  13.  */
  14. class CPasswrd
  15. {
  16. public:
  17.     // Password decryptor!
  18.     class ToText
  19.     {
  20.     public:
  21. inline ToText(const char encrypted[MAXPWLEN])
  22. {
  23. plaintext = vncDecryptPasswd((char *)encrypted);
  24. }
  25. inline ~ToText()
  26. {
  27. if (plaintext != NULL)
  28. {
  29. ZeroMemory(plaintext, strlen(plaintext));
  30. free(plaintext);
  31. }
  32. }
  33. inline operator const char*() const {return plaintext;};
  34.     private:
  35. char *plaintext;
  36.     };
  37.     class FromText
  38.     {
  39.     public:
  40. inline FromText(char *unencrypted)
  41. {
  42. vncEncryptPasswd(unencrypted, encrypted);
  43. ZeroMemory(unencrypted, strlen(unencrypted));
  44. }
  45. inline ~FromText()
  46. {
  47. }
  48. inline operator const char*() const {return encrypted;};
  49.     private:
  50. char encrypted[MAXPWLEN];
  51.     };
  52.     class FromClear
  53.     {
  54.     public:
  55. inline FromClear()
  56. {
  57. vncEncryptPasswd("", encrypted);   // 初始化密码
  58. }
  59. inline ~FromClear()
  60. {
  61. }
  62. inline operator const char*() const {return encrypted;};
  63.     private:
  64. char encrypted[MAXPWLEN];
  65.     };
  66. };
  67. #endif //_PASSWRD_HLPER_