finallyliuyu

作者:finallyliuyu 出处:博客园

注意:整个三重DES加密算法,是在了解DES算法原理的基础上,并且在邹德强先生的源码基础上进行改编。

实现对任意长度明文进行加密

转载学习并实现DES加密解密算法(一)

转载学习并实现DES加密解密算法(二)

mingwenori的维度为多少,那么datalenori就等于多少。

任意长度明文加密
void main()
{
    printf(
"finish\n");
    myDES des;
    
int datalenori=11;
    
int datalen=0;
    
char mingwenori[11]={\'a\',\'b\',\'c\',\'d\',\'e\',\',\',\'0\',\'8\',\'v\',\'A\',\'~\'};
    
char key[24]={\'q\',\'w\',\'r\',\'t\',\'y\',\'u\',\'0\',\'b\',\'v\',\'s\',\'a\',\'z\',\'l\',\';\',\'y\',\'5\',\'?\',\'3\',\'n\',\'m\',\'3\',\'0\',\'a\',\'q\'};
    
for (int i=0;i<datalenori;i++)
    {
        printf(
"%c",mingwenori[i]);

    }
    printf(
"\n");
    
    
if(datalenori%8)
    {
        datalen
=(datalenori/8+1)*8;

    }
    
else
    {
        datalen
=datalenori;
    }
    
    
char *miwen=new char[datalen];
    
char*mingwen=new char[datalen];

    
char *descriptmingwen=new char[datalen];
    des.RunPad(mingwenori,datalenori,mingwen);
    
    des.RunDes(
true,mingwen,miwen,datalen,key,24);
    
    
for (int i=0;i<datalen;i++)
    {
        printf(
"%c",miwen[i]);

    }
    printf(
"\n");
    des.RunDes(
false,miwen,descriptmingwen,datalen,key,24);
    
for (int i=0;i<datalen;i++)
    {
        printf(
"%c",descriptmingwen[i]);

    }

  

    

    delete mingwen;
    delete miwen;
    delete descriptmingwen;
    
int end;
    scanf(
"%d",&end);

}

 

 

分类:

技术点:

相关文章:

  • 2021-05-24
  • 2021-09-13
  • 2020-02-11
  • 2020-06-11
  • 2021-11-24
  • 2021-08-16
  • 2021-10-12
  • 2021-11-01
猜你喜欢
  • 2021-12-02
  • 2019-03-22
  • 2021-09-12
  • 2021-12-09
  • 2021-09-28
  • 2021-12-16
  • 2021-10-01
相关资源
相似解决方案