В классе:
private:
union // Ключ из файла
{
unsigned int dword[8];
char byte[32];
} Key;
есть метод класса:
void Gost28147_89::ExpandKey(char * pKey,int mode)
{
int j = 0; // по умолчанию signed
ifstream FileKey(pKey);
FileKey.read((char *)Key.byte,32);
FileKey.close();
switch(mode)
{
case ENCIPHER:
{
for(int k = 0;k <= 3;k++)
{
for(int i = 0;i <= 7; i++)
{
KeyExt.dword[j] = Key.byte[i];
j++;
}
}
for(int i = 7;i >= 0; i--)
{
KeyExt.dword[j] = Key.byte[i];
j++;
}
break;
}
case DECIPHER:
{
for(int i = 0; i >= 7; i++)
{
KeyExt.dword[j] = Key.byte[i];
j++;
}
for(int k = 0;k <= 3;k++)
{
for(int i = 7;i >= 0; i--)
{
KeyExt.dword[j] = Key.byte[i];
j++;
}
}
break;
}
default:
{
cout << "\nBug ... switch(mode)\n";
break;
}
ofstream KeyExtFile("KeyExt.key");
KeyExtFile.write((char *)KeyExt.byte,128);
KeyExtFile.close();
} // switch (mode)
}
В int main():
Gost28147_89 Crypto;
Crypto.ExpandKey("Key.key",ENCIPHER);
Не происходит чтения из файла ключа и запись расширенного во вновь создаваемый.
помогите увидеть баг!