zoukankan      html  css  js  c++  java
  • 转载学习并实现DES加密解密算法(二)

    作者:finallyliuyu 出处:博客园

    主函数调用

    注意:目前算法仅能对八的倍数比特明文进行加密。如要实现对任意长度明文加密,需要padding补零,使其成为8的倍数比特

    代码

    #include "myDES.h"
    #include 
    "string.h"

    void main()
    {
        printf(
    "finish\n");
        
        
    char mingwen[8]={'a','b','c','d','e','f','g','h'};
        
    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<8;i++)
        {
            printf(
    "%c",mingwen[i]);

        }
        printf(
    "\n");
        
    char minwen[8];
        
    char descrptedmingwen[8];
        myDES des;
        des.RunDes(
    true,mingwen,minwen,8,key,24);
        
    for (int i=0;i<8;i++)
        {
            printf(
    "%c",minwen[i]);

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

        }

      

        


        
    int end;
        scanf(
    "%d",&end);

     

    上图为运行结果。 原明文(abcdefgh),加密后密文,解密后明文。

    #include "myDES.h"
    #include 
    "string.h"

    void main()
    {
        printf(
    "finish\n");
        
        
    char mingwen[8]={'a','b','c','d','e','f','g','h'};
        
    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<8;i++)
        {
            printf(
    "%c",mingwen[i]);

        }
        printf(
    "\n");
        
    char minwen[8];
        
    char descrptedmingwen[8];
        myDES des;
        des.RunDes(
    true,mingwen,minwen,8,key,24);
        
    for (int i=0;i<8;i++)
        {
            printf(
    "%c",minwen[i]);

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

        }

      

        


        
    int end;
        scanf(
    "%d",&end);

  • 相关阅读:
    Zookeeper 入门第一篇
    jmap命令
    Java中的原子操作类
    Fel表达式实践
    Fel表达式使用过程中需要注意的问题
    【luoguP1196】 [NOI2002]银河英雄传说--边带权并查集 ,
    【luoguP1955 】[NOI2015]程序自动分析--普通并查集
    【csp模拟赛2】 序列操作
    【csp模拟赛2】 爆搜 方格加数
    HZWER
  • 原文地址:https://www.cnblogs.com/finallyliuyu/p/1917604.html
Copyright © 2011-2022 走看看