NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
AES256结构体 参考

AES-256加密算法结构体 更多...

#include <aes256.hpp>

静态 Public 成员函数

static byte_vector encrypt_ecb (cbyte_view data, cbyte_view key)
 AES-256-ECB 加密
static byte_vector decrypt_ecb (cbyte_view data, cbyte_view key)
 AES-256-ECB 解密
static byte_vector encrypt_ecb_pkcs7 (cbyte_view data, cbyte_view key)
 AES-256-ECB 加密(PKCS7填充)
static byte_vector decrypt_ecb_pkcs7 (cbyte_view data, cbyte_view key)
 AES-256-ECB 解密(PKCS7填充)
static string encrypt_ecb_hex (string_view data, string_view key_hex)
 AES-256-ECB 加密(十六进制接口)
static string decrypt_ecb_hex (string_view encrypted_hex, string_view key_hex)
 AES-256-ECB 解密(十六进制接口)
static byte_vector encrypt_cbc (cbyte_view data, cbyte_view key, cbyte_view iv)
 AES-256-CBC 加密
static byte_vector decrypt_cbc (cbyte_view data, cbyte_view key, cbyte_view iv)
 AES-256-CBC 解密
static byte_vector encrypt_cbc_pkcs7 (cbyte_view data, cbyte_view key, cbyte_view iv)
 AES-256-CBC 加密(PKCS7填充)
static byte_vector decrypt_cbc_pkcs7 (cbyte_view data, cbyte_view key, cbyte_view iv)
 AES-256-CBC 解密(PKCS7填充)
static byte_vector encrypt_gcm (cbyte_view data, cbyte_view key, cbyte_view iv, cbyte_view aad, byte_t *tag, size_t tag_len)
 AES-256-GCM 加密
static byte_vector decrypt_gcm (cbyte_view data, cbyte_view key, cbyte_view iv, cbyte_view aad, cbyte_view tag, size_t tag_len)
 AES-256-GCM 解密并验证标签

详细描述

AES-256加密算法结构体

提供静态方法进行AES-256加密和解密操作。 支持 ECB / CBC / GCM 模式和PKCS7填充。

在文件 aes256.hpp79 行定义.

成员函数说明

◆ decrypt_cbc()

byte_vector AES256::decrypt_cbc ( cbyte_view data,
cbyte_view key,
cbyte_view iv )
static

AES-256-CBC 解密

参数
data要解密的数据(长度必须是16的倍数)
key32字节密钥
iv16字节初始化向量
返回
解密后的数据
异常
value_exception参数长度不符时抛出

引用了 data().

◆ decrypt_cbc_pkcs7()

byte_vector AES256::decrypt_cbc_pkcs7 ( cbyte_view data,
cbyte_view key,
cbyte_view iv )
static

AES-256-CBC 解密(PKCS7填充)

参数
data要解密的数据
key32字节密钥
iv16字节初始化向量
返回
解密后的数据

引用了 data().

◆ decrypt_ecb()

byte_vector AES256::decrypt_ecb ( cbyte_view data,
cbyte_view key )
static

AES-256-ECB 解密

参数
data要解密的数据(长度必须是16的倍数)
key32字节的密钥
返回
解密后的数据
异常
value_exception当密钥长度不是32字节或数据长度不是16的倍数时抛出

引用了 data().

◆ decrypt_ecb_hex()

string AES256::decrypt_ecb_hex ( string_view encrypted_hex,
string_view key_hex )
static

AES-256-ECB 解密(十六进制接口)

参数
encrypted_hex加密数据的十六进制表示
key_hex十六进制表示的密钥(64字符,表示32字节)
返回
解密后的字符串

被这些函数引用 aes256_decrypt().

◆ decrypt_ecb_pkcs7()

byte_vector AES256::decrypt_ecb_pkcs7 ( cbyte_view data,
cbyte_view key )
static

AES-256-ECB 解密(PKCS7填充)

参数
data要解密的数据
key32字节的密钥
返回
解密后的数据(自动移除PKCS7填充)
异常
value_exception当密钥长度不是32字节或填充无效时抛出

引用了 data().

◆ decrypt_gcm()

byte_vector AES256::decrypt_gcm ( cbyte_view data,
cbyte_view key,
cbyte_view iv,
cbyte_view aad,
cbyte_view tag,
size_t tag_len )
static

AES-256-GCM 解密并验证标签

参数
data密文数据
key32字节密钥
iv初始化向量
aad附加认证数据
tag待验证的认证标签
tag_len标签长度
返回
解密后的明文
异常
value_exception解密失败或标签验证失败时抛出

引用了 data().

◆ encrypt_cbc()

byte_vector AES256::encrypt_cbc ( cbyte_view data,
cbyte_view key,
cbyte_view iv )
static

AES-256-CBC 加密

参数
data要加密的数据(长度必须是16的倍数)
key32字节密钥
iv16字节初始化向量
返回
加密后的数据
异常
value_exception参数长度不符时抛出

引用了 data().

◆ encrypt_cbc_pkcs7()

byte_vector AES256::encrypt_cbc_pkcs7 ( cbyte_view data,
cbyte_view key,
cbyte_view iv )
static

AES-256-CBC 加密(PKCS7填充)

参数
data要加密的数据
key32字节密钥
iv16字节初始化向量
返回
加密后的数据

引用了 data().

◆ encrypt_ecb()

byte_vector AES256::encrypt_ecb ( cbyte_view data,
cbyte_view key )
static

AES-256-ECB 加密

参数
data要加密的数据(长度必须是16的倍数)
key32字节的密钥
返回
加密后的数据
异常
value_exception当密钥长度不是32字节或数据长度不是16的倍数时抛出

引用了 data().

◆ encrypt_ecb_hex()

string AES256::encrypt_ecb_hex ( string_view data,
string_view key_hex )
static

AES-256-ECB 加密(十六进制接口)

参数
data要加密的字符串
key_hex十六进制表示的密钥(64字符,表示32字节)
返回
加密后的十六进制字符串

引用了 data().

被这些函数引用 aes256_encrypt().

◆ encrypt_ecb_pkcs7()

byte_vector AES256::encrypt_ecb_pkcs7 ( cbyte_view data,
cbyte_view key )
static

AES-256-ECB 加密(PKCS7填充)

参数
data要加密的数据
key32字节的密钥
返回
加密后的数据(自动添加PKCS7填充)
异常
value_exception当密钥长度不是32字节时抛出

引用了 data().

◆ encrypt_gcm()

byte_vector AES256::encrypt_gcm ( cbyte_view data,
cbyte_view key,
cbyte_view iv,
cbyte_view aad,
byte_t * tag,
size_t tag_len )
static

AES-256-GCM 加密

参数
data要加密的数据
key32字节密钥
iv初始化向量(推荐12字节)
aad附加认证数据(可为空)
tag输出认证标签缓冲区
tag_len标签长度(通常为12、13、14、15、16字节)
返回
加密后的密文(长度与明文相同)
异常
value_exception参数无效时抛出

引用了 data().


该结构体的文档由以下文件生成: