首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AES 256字符长度

AES 256字符长度
EN

Stack Overflow用户
提问于 2018-11-12 17:16:32
回答 1查看 1.2K关注 0票数 1

我使用AES 256加密数据,想知道如何限制加密文本的长度。如果我使用AES 256加密6个字符串,则大约加密100个字符。我希望将这些数据添加到表中,以便知道最大长度,以便在php编解码器中在表中设置约束。

代码语言:javascript
复制
$this->encryption->initialize(
                array(
                'cipher' => 'aes-256',
                'mode' => 'ECB',
                'key' => $key1
                )
            ); 

$this->encryption->encrypt($_POST['uname']);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-12 17:45:13

给出最小信息的最佳猜测是,您将加密数据视为空终止字符串,而且由于加密不为空终止加密的数据,空终止符恰好在内存中丢失加密数据。

下面假设AES处于欧洲央行模式。

  1. AES不加密字符,而是加密数据字节。如果您试图将加密的输出处理为字符,这将是不正确的,并且通常会产生错误。它的字符输出是必需的加密数据需要编码,通常使用Base64或十六进制。
  2. AES是块密码,因此输出将始终是代码块长度的倍数,对于AES来说是16字节。
  3. 如果输入不是它需要填充的块大小的确切倍数,则PKCS#7是常用的填充。
  4. 由于填充,用AES加密的数据最多比输入大一个块长。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53267054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档