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

  • 相关阅读:
    CSS3 target伪类简介
    不用position,让div垂直居中
    css3 在线编辑工具 连兼容都写好了
    a标签伪类的顺序
    oncopy和onpaste
    【leetcode】1523. Count Odd Numbers in an Interval Range
    【leetcode】1518. Water Bottles
    【leetcode】1514. Path with Maximum Probability
    【leetcode】1513. Number of Substrings With Only 1s
    【leetcode】1512. Number of Good Pairs
  • 原文地址:https://www.cnblogs.com/finallyliuyu/p/1917604.html
Copyright © 2011-2022 走看看