文件加密的过程中用DES 加密时,每个字节加密成功,若不足8位时要补进行操作。但是我不太理解具体的补位操作,该如何操作。请各位英雄出策。谢谢。
这样行吗?while(!feof(inFp)){//in 在这里是空的,什么也没有 
  len = fread(in,1,FRAME_SIZE,inFp);
  if(len < 0){
rc = 1010;
goto ENDFUNC;
  }
  if(len < FRAME_SIZE || feof(inFp)){//这里的为什么要用循环?
  rc = 8 - (len % 8);
  for(int i=0;i<rc;i++){
*(in+len+i) = rc;
  }
  len += rc;
  }

解决方案 »

  1.   


    我看是太简单了,没人回答if(len < FRAME_SIZE ¦ ¦ feof(inFp))  // 如果不足8字节
    {
      rc = 8 - (len % 8);                // 还需补多少字节凑齐8字节
      for(int i=0;i <rc;i++)
      { 
        *(in+len+i) = rc;                // 用补齐字节数来填充补齐的位置
      } 
      

  2.   

    太简单了吗?
    DES ECB BCB 的方式的加密过程中 哪一种方式 要加一个向量呢?这个向量是随便加的?还是有规律呢?