#include ".\opencsp_alg.h"
DWORD OPENCSP_Alg::_index = 0;
BOOL OPENCSP_Alg::isAlgSupported(ALG_ID algId) //判断algId是否是支持的算法
{
for (DWORD i = 0; i < M_OPENCSP_ALG_INFO_NUM; i++) //M_OPENCSP_ALG_INFO_NUM 支持的算法的个数
{
if (s_algInfo[i].aiAlgid == algId) //结构体的aiAlgid为算法id
return TRUE;
}
return FALSE;
}
const OPENCSP_ALG_INFO_EX* OPENCSP_Alg::getAt(DWORD index) //根据索引返回算法地址,OPENCSP_ALG_INFO_EX*类型
{
if (index > M_OPENCSP_ALG_INFO_NUM - 1) return NULL;
return &s_algInfo[index++];
}
const OPENCSP_ALG_INFO_EX* OPENCSP_Alg::getNext() //索引号递增,得到下一个算法地址
{
if (_index > M_OPENCSP_ALG_INFO_NUM - 1)
{
_index = 0;
return NULL;
}
return &s_algInfo[_index++]; //索引加1,_index是成员变量
}
DWORD OPENCSP_Alg::getKeyLen(ALG_ID algId) //得到algId这个算法的dwDefaultLen
{
for (DWORD i = 0; i < M_OPENCSP_ALG_INFO_NUM; i++)
{
if (s_algInfo[i].aiAlgid == algId)
return s_algInfo[i].dwDefaultLen;
}
return 0;
}
时间: 2024-10-24 16:51:49