C 如何检查DES密钥的奇偶性?

C 如何检查DES密钥的奇偶性?,c,cryptography,des,C,Cryptography,Des,我正在密码学课程中研究DES(数据加密标准)算法,作为其中的一部分,我必须编写一个C代码,其中包括一个检查DES密钥奇偶性的函数 我怎样才能做到这一点呢?我会做一个简单的选择 摘自上述链接: bool AdjustDESKeyParity(UCHAR* pucKey, int nKeyLen) { int cPar; for(int i = 0; i < nKeyLen; i++) { cPar = 0; for(int j = 0; j <

我正在密码学课程中研究DES(数据加密标准)算法,作为其中的一部分,我必须编写一个C代码,其中包括一个检查DES密钥奇偶性的函数

我怎样才能做到这一点呢?

我会做一个简单的选择

摘自上述链接:

bool AdjustDESKeyParity(UCHAR* pucKey, int nKeyLen)
{
   int cPar;
   for(int i = 0; i < nKeyLen; i++)
   {
      cPar = 0;
      for(int j = 0; j < DES::BLOCKSIZE; j++)
      {
         if(pucKey[i] & (0×01 << j))
            cPar = !cPar;
      }
      if(!cPar)
         pucKey[i] ^= 0×01;
   }
   return true;
}
bool adjustdeskey奇偶校验(UCHAR*pucKey,int-nKeyLen)
{
int-cPar;
对于(int i=0;i如果(pucKey[i]&(0×01)非常感谢!!代码对我来说非常容易理解..只是我尝试时没有得到它的逻辑..下次在发布此类问题之前会考虑更多!!