zoukankan      html  css  js  c++  java
  • [密码学] C++ 实现 AES128 加密算法

    概述

    清理邮箱的时候翻出来的。
    很久以前写的,理解加密算法用的,当时记得是还撸了两天晚上撸出来的代码,放上来留个纪念好啦。

    补上Tutorial,就当考古吧。

    写代码时候毕竟年轻,问题也不少,但现在这东西还能用!

    文件linkutf-8编码。

    编译

    使用gcc编译(g++也可以)即可,需要头文件为:

    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    

    系统里一般都有的,命令: gcc AES-128.cpp -o aes128

    加密操作

    先指定密钥,使用 -k 参数(理论上你可以使用任何大于16Byte的文件作为密钥,反正只读前128bit):

    先输入:

    ./aes128 -k key.txt
    

    然后使用 -e 选择需要加密的文件:

    ./aes128 -k key.txt -e file2E.data
    

    输出结果为result.aes

    解密操作

    还是用-k指定密钥文件,-d 用于解密

    ./aes128 -k key.txt -d file2D.data
    

    结果还是为result.aes

    字符串

    密钥指定都一样,使用-s参数:

    同时还会自动保存到result.aes文件中。

    解密字符串的话,还是用文件的方式解密哈。

    演示

    加解密演示视频:

    link

    其他问题可以问我。

    代码写其实不好,高手指正哈。

  • 相关阅读:
    32位和64位系统区别及int字节数
    进程的三种状态及转换
    已知二叉树的前序/后序遍历和中序遍历,求后序/前序遍历
    一步一步写算法
    Ubuntu中APache+mod_pyhon
    JAVA SOCKET
    TCP连接 断开
    mfc 创建一个C++ 类
    mfc 类的析构函数
    mfc 类对象的引用
  • 原文地址:https://www.cnblogs.com/guoyunzhe/p/6203033.html
Copyright © 2011-2022 走看看