gpt4 book ai didi

java - aes 加密 - 内容大小不是 16 字节的倍数

转载 作者:行者123 更新时间:2023-11-29 03:10:54 29 4
gpt4 key购买 nike

我有一个接近 735 字节的数据,当我加密并将其发送到服务器时,服务器能够加密直到 720(16 的倍数),但不能超过 720,如何解决这个问题,所有我需要一种解决方案来解决这个问题。

NSMutableData *cipherData = [NSMutableData dataWithLength: content.length + kCCBlockSizeAES128];
CCCryptorStatus
result = CCCrypt(((shouldEncrypt)?kCCEncrypt:kCCDecrypt), // operation
kCCAlgorithmAES128, // Algorithm - AES128 means the block size, not the keysize
kCCOptionECBMode, // options
key.bytes, // key
kCCKeySizeAES256, // keylength
NULL,// iv
content.bytes, // dataIn
content.length, // dataInLength,
cipherData.mutableBytes, // dataOut
cipherData.length, // dataOutAvailable
&outLength); // dataOutMoved

最佳答案

在选项中,(二进制)或 kCCOptionPKCS7Padding 标志到 kCCOptionECBMode 标志。

这会自动将最后一个 block 填充到 block 大小。请注意,如果存在整数个 block ,这也会添加一个完整的 block (否则无法将数据与填充区分开)。

关于java - aes 加密 - 内容大小不是 16 字节的倍数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22265195/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com