文件加密的过程中用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;
}
这样行吗?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;
}
我看是太简单了,没人回答if(len < FRAME_SIZE ¦ ¦ feof(inFp)) // 如果不足8字节
{
rc = 8 - (len % 8); // 还需补多少字节凑齐8字节
for(int i=0;i <rc;i++)
{
*(in+len+i) = rc; // 用补齐字节数来填充补齐的位置
}
DES ECB BCB 的方式的加密过程中 哪一种方式 要加一个向量呢?这个向量是随便加的?还是有规律呢?