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

  • 相关阅读:
    IIS文件大小限制
    XAMPP 配置多端口 多站点
    C# 复制文件和文件夹
    Windows下 Python 安装包的配置
    从数据库读取数据绑定到TreeView(内含设置样式,图片)
    异步请求数据简单例子
    Jmeter使用_StringFromFile函数需要添加编码方式
    利用Fitnesse和Jmeter实现接口性能测试
    简易覆盖率信息收集框架
    如何对遗留代码进行单元测试(scrumgathering听后感)
  • 原文地址:https://www.cnblogs.com/finallyliuyu/p/1917604.html
Copyright © 2011-2022 走看看