关于字节流转换为比特流的问题 (在线等指导)

zxu618 2011-12-08 05:39:25
实验要写DES
但是密文不正确;
纠结了半天估计问题出在字节流与比特流的相互转换上
这是 将字节流转换为比特流的函数

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;//在网上查得转换方法
}
}
}

这是调用 :userkey 是 unsigned char userkey[8]
unsigned int keybite[64];
transtobite(userkey,keybite);

顺便贴上将比特流转换为字节流的函数:unsigned int b[64],unsigned char Out[8]

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

最后输入密钥和明文,得到的密文不对。
以前没学过字节流和比特流的转换。。。。真纠结。。。各种指导指导
...全文
417 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxu618 2011-12-12
  • 打赏
  • 举报
回复
有没有高手?????在线等大神解答
zxu618 2011-12-08
  • 打赏
  • 举报
回复
在线等指导啊。。。
zxu618 2011-12-08
  • 打赏
  • 举报
回复
在线等大神指导

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧