69,368
社区成员
发帖
与我相关
我的任务
分享
void DES::transtobite(unsigned char const *userkey,unsigned int b[64])//将字节转化为比特的函数定义
{
for(int i=0;i<8;i++)//用了两层循环,将传过来的形参b[64],分成8组,来转化成字节
{
for(int j=0;j<8;j++)
{
b[j+i*8]=(userkey[i]>>j)&1;//在网上查得转换方法
}
}
}
unsigned int keybite[64];
transtobite(userkey,keybite);
void DES::tanstobyte(unsigned char *Out,unsigned int b[])
{
unsigned char temp;
int i,j;
for(i=0;i<8;i++)
{
temp=0;
for(j=0;j<8;j++)
{
temp|=(*(b+j+i*8)<<j);
}
Out[i]=temp;
}
}