zoukankan      html  css  js  c++  java
  • AES加密解密

    AES简介

    美国国家标准技术研究所在2001年发布了高级加密标准(AES)。AES是一个对称分组密码算法,旨在取代DES成为广泛使用的标准。

    根据使用的密码长度,AES最常见的有3种密钥方案,用以适应不同的场景要求,分别是AES-128、AES-192和AES-256,与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据,

    注意事项:1.AES加密的时候分为很多模式的。除了ECB不需要设置IV    其他模式都需要设置iv(这是别人告诉我的);如果你使用的不是ECB模式,其他模式千万记得设置IV;

    AES加密模式和填充方式

    算法/模式/填充                16字节加密后数据长度        不满16字节加密后长度
    AES/CBC/NoPadding             16                          不支持
    AES/CBC/PKCS5Padding          32                          16
    AES/CBC/ISO10126Padding       32                          16
    AES/CFB/NoPadding             16                          原始数据长度
    AES/CFB/PKCS5Padding          32                          16
    AES/CFB/ISO10126Padding       32                          16
    AES/ECB/NoPadding             16                          不支持
    AES/ECB/PKCS5Padding          32                          16
    AES/ECB/ISO10126Padding       32                          16
    AES/OFB/NoPadding             16                          原始数据长度
    AES/OFB/PKCS5Padding          32                          16
    AES/OFB/ISO10126Padding       32                          16
    AES/PCBC/NoPadding            16                          不支持
    AES/PCBC/PKCS5Padding         32                          16
    AES/PCBC/ISO10126Padding      32                          16

  • 相关阅读:
    (Power Strings)sdutoj2475
    KMP(http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2772)
    spfa 判断负环 (转载)
    图的存储
    图结构练习——判断给定图是否存在合法拓扑序列(sdutoj)
    poj1753Flip Game(dfs)
    poj2524(简单并查集)
    VC++ GetModuleFileName()获取路径字符串中带波浪线~
    VC++ : error LNK2005: ... already defined in *.obj
    InstallSheild的一些常量
  • 原文地址:https://www.cnblogs.com/KiVen2015/p/5420844.html
Copyright © 2011-2022 走看看