📄 csp.h
字号:
#ifndef CSP_FILE_IMPL
#define CSP_FILE_IMPL
#define CSP_PATH_MAXBUFFER 100
#define CSP_FILE_CONT TEXT("/存储卡/Cont")
#define CSP_FILE_CSP TEXT("/存储卡/CSP")
#define CSP_FILE_SEC TEXT("/存储卡/s")
#define RSAKEY_LENGTH 128
#include <windows.h>
#include <wincrypt.h>
#include "RSAWapper.h"
#include "cspconst.h"
#pragma once
static const WCHAR* rootPath = TEXT("/存储卡");
class CSPFile
{
public:
//basic commands
BOOL NewDirectory(const WCHAR* dName);
HANDLE GetFirstChild(const WCHAR *szPath,WCHAR* szFileName);
HANDLE NewFile(const WCHAR* szPath);
HANDLE GetFile(const WCHAR* path);
BOOL FileExist(const WCHAR* szPath);
HANDLE CreateFileWithoutParent(WCHAR* szParent,WCHAR* szFile);
BOOL ReadData(HANDLE file,BYTE* lpBuffer,DWORD requestSize,DWORD* actualSize);
BOOL WriteData(HANDLE file,LPBYTE lpBuffer,DWORD requestSize,DWORD* actualSize);
BOOL DelFile(const WCHAR* szPath);
BOOL RemoveDir(const WCHAR* szPath);
BOOL EnumFile(HANDLE hFile,WCHAR* lpBuffer,DWORD* len);
BOOL IsValid(HANDLE hFile);
BOOL GenerateFile(const WCHAR* pszFileName, const WCHAR * pszDirectory, BYTE* byData, const BYTE byLen);
BOOL GetSize(HANDLE hFile,LPDWORD sizeHigh, LPDWORD sizeLow);
BOOL WriteLog(BYTE* text);
BOOL CleanFile(WCHAR* szPath);
DWORD WriteAtPosition(HANDLE hFile,DWORD pos,DWORD method,LPBYTE lpBuffer,DWORD requestSize);
BOOL UserInit(const WCHAR* path,const WCHAR* name);
//complicated commands
BOOL DeleteKeySet(WCHAR* szPath,UINT iFileIndex,WCHAR* szContSer,const WCHAR* contPath);
BOOL MakeDirs();
bool VerifyPIN(DWORD dwWhichKP,BYTE* pin,BYTE pinSize);
bool WriteNewPin(DWORD dwWhichKP,BYTE* newPin,BYTE pinSize);
bool ChangePin(DWORD dwWhichKP,BYTE* oldPin,BYTE oldPinSize,BYTE* newPin,BYTE newPinSize);
bool DoSign(const WCHAR* path,LPBYTE inBuffer,DWORD inSize,LPBYTE outBuf,LPDWORD outSize);
bool Decrypt(const WCHAR* path,LPBYTE inBuffer,DWORD inSize,LPBYTE outBuf,LPDWORD outSize);
bool DoCrypto(BYTE byCryptoType, IN WCHAR * pszKeyFile, IN BYTE * pbyInput, IN DWORD byInputLen, OUT BYTE * pbyOutput, OUT DWORD *pbyOutputLen);
bool GenRSAKey(int conSer,DWORD dwKeySpec);
private:
HANDLE lFile;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -