当前位置: 首页 > 知识库问答 >
问题:

IllegalArgumentException:IV缓冲区对于给定的偏移量/长度组合太短

郜俊健
2023-03-14

我有一个应用程序,在PHP中使用openssl_encrypt加密文本,方法如下。(使用与“239422AE7940144F”相同的盐和iv值)

function encrypt_password($password) {
    define('AES_256_CBC', 'aes-256-cbc');
    $sessionId = $password;
    //random number for encrtyption(salt)
    $salt = '239422ae7940144f';
    $iv = $salt; //cipher length
    $encryptedSession = openssl_encrypt($sessionId, AES_256_CBC, $salt, 0, $iv);
    return array('encryptedPassword' => $encryptedSession, 'salt' => $salt);
}

function decrypt_password($result) {
    define('AES_256_CBC', 'aes-256-cbc');
    $vPassword = 'xUP9PwhcXm5xbKIfiSxMCA==';
    //random number for descrypt(salt)
    $salt = '239422ae7940144f';
    $iv = $salt; //cipher length.
    $decrypted = openssl_decrypt($vPassword, AES_256_CBC, $salt, 0, $iv);
    return $decrypted;
}

密码“abc123”加密提供“xup9pwhcxm5xbkifisxmca==”,解密则返回“abc123”。

    final byte[] secretKey = javax.xml.bind.DatatypeConverter.parseHexBinary("239422ae7940144f");
    final byte[] initVector = javax.xml.bind.DatatypeConverter.parseHexBinary("239422ae7940144f");

共有1个答案

洪高阳
2023-03-14

这个“sessionid”的长度很短。长度必须至少为“IV”

 类似资料:
  • 我目前的方法是用所有粒子填充一个数组(称为vertexData),这样数组的结构将是:[particle,particle,particle,...],其中每个粒子都有上面给出的布局。 我的计划是简单地将初始信息提供给顶点着色器,然后让它根据初始信息计算位置偏移量和颜色。我希望大多数的计算是在GPU上完成的。 我想通过将所有数据放在一个缓冲区对象中来传递数据到着色器,然后使用偏移量来获取正确的值来

  • 我试图在corda中设置一个percona集群(mysql)以实现高可用性,我配置了其他所有内容,同时试图引入corda节点(公证),我得到以下错误:

  • 我有一个由5个分区组成的主题如下: 似乎分区的偏移量非常接近其余分区的偏移量之和。我不知道如何以及为什么。

  • 问题内容: 我不断收到此异常: 但是,数组缓冲区对象已启用! 如您所见,在glVertexPointer调用之前两行(错误所在的那一行),那么我显然在启用数组缓冲区! 怎么了 问题答案: 顶点缓冲区不是您启用或禁用的东西-LWJGL误导您。 您需要知道该命令使用绑定到的对象(“数组缓冲区对象”)作为其内存源(从OpenGL 1.5开始)。 在某些版本的OpenGL(兼容1.5-3.0和3.1+)中

  • 在DirectX中,您可以有单独的渲染目标和深度缓冲区,因此可以绑定渲染目标和一个深度缓冲区、执行一些渲染、移除深度缓冲区然后使用旧的深度缓冲区作为纹理进行更多渲染。 你会如何在opengl中做到这一点?根据我的理解,您有一个帧缓冲区对象,其中包含颜色缓冲区和可选的深度缓冲区。我不认为我可以同时绑定多个帧缓冲器对象,我是否必须在每次更改时(可能一帧几次)重新创建帧缓冲器对象?普通的 opengl

  • 本文向大家介绍php中ob_get_length缓冲与获取缓冲长度实例,包括了php中ob_get_length缓冲与获取缓冲长度实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php中ob_get_length缓冲与获取缓冲长度的方法。分享给大家供大家参考。具体方法如下: file_get_contents() 函数把整个文件读入一个字符串中,和 file() 一样,不同的是 fil