2011-08-22 110 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

非常感謝你!這個代碼對我來說是非常容易理解的。只是當我嘗試時,我沒有得到它的邏輯。下次在發佈這些問題之前,我會更多地思考! –