gpt4 book ai didi

php openssl_encrypt 在使用 openssl_decrypt 时生成空值

转载 作者:太空宇宙 更新时间:2023-11-03 14:17:11 26 4
gpt4 key购买 nike

我想在 Yii Framework 中使用 openssl_encrypt 加密数字;

我设法加密了号码;

当尝试解密数字时,我得到一个空值;

class Utils {
/*
* variables and values used to encrypt and decrypt the cnp
*/
public static $textToEncrypt = "My super secret information.";
public static $encryptionMethod = "AES-256-CBC"; // AES is used by the U.S. gov't to encrypt top secret documents.
public static $secretHash = "25c6c7ff35b9979b151f2136cd13b0ff";
public static $options = false;//options can be one of OPENSSL_RAW_DATA, OPENSSL_ZERO_PADDING or false
public static $iv = '1234567890123456';

}

这就是我加密数字的方式,这部分有效,因为我得到了结果:

$this->user->cnp = openssl_encrypt($this->user->cnp, Utils::$encryptionMethod, Utils::$secretHash, Utils::$options, Utils::$iv);

这就是我解密的方式,但我得到了一个空值:

$a = openssl_decrypt($model->cnp, Utils::$encryptionMethod, Utils::$secretHash, Utils::$options, Utils::$iv);

echo 'cnp decripted: ' . $a;

为什么我在使用这些函数时得不到原始值:

echo 'cnp encrypted: ' . openssl_encrypt('1850302260089', Utils::$encryptionMethod, Utils::$secretHash, Utils::$options, Utils::$iv);

echo ' cnp decripted' . openssl_decrypt('1850302260089', Utils::$encryptionMethod, Utils::$secretHash, Utils::$options, Utils::$iv);

最佳答案

这与 openssl 无关,而是您尝试解密的值

你从哪里得到$model->cnp???这就是问题所在

尝试

$cnpData = openssl_encrypt($this->user->cnp, Utils::$encryptionMethod, Utils::$secretHash, Utils::$options, Utils::$iv);
$a = openssl_decrypt($cnpData , Utils::$encryptionMethod, Utils::$secretHash, Utils::$options, Utils::$iv);

echo 'cnp decripted: ' . $a

刚刚测试了一下,效果很好

关于php openssl_encrypt 在使用 openssl_decrypt 时生成空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17024128/

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