2011-08-22 74 views
-1

我正在使用我的加密类中的DES(数据加密标准)算法,作为其中的一部分,我必须编写一个C代码,其中包含一个函数来检查DES密钥的奇偶性。如何检查DES密钥的奇偶校验?

我该怎么做?

回答

1

我只是做一个Google search,并选择one of the first results that comes up

从上面的链接摘自:

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; 
} 

这不是纯粹的C,但它应该是很容易翻译。

+0

非常感谢你!这个代码对我来说是非常容易理解的。只是当我尝试时,我没有得到它的逻辑。下次在发布这些问题之前,我会更多地思考! –