在Laravel

时间:2016-05-30 04:40:23

标签: php laravel encryption

我正在尝试使用Laravel加密的用户名和密码进行跨域ajax调用,但我无法找到找到Crypt :: encrypt操作期间生成的IV字符串的方法。找到那个最好的方法是什么?

更新(添加代码):

$encUsername = Crypt::encrypt($username);
$encPassword = Crypt::encrypt($password);

JavaScript::put([
  'username' => $encUsername,
  'password' => $encPassword
]);

1 个答案:

答案 0 :(得分:2)

查看source codeencrypt()的结果是base64编码的JSON数据:

    $iv = random_bytes($this->getIvSize());
    $value = \openssl_encrypt(serialize($value), $this->cipher, $this->key, 0, $iv);

    // ...
    $mac = $this->hash($iv = base64_encode($iv), $value);
    $json = json_encode(compact('iv', 'value', 'mac'));

    // ...
    return base64_encode($json);

您需要base64_decodejson_decode值,然后使用iv键。