gpt4 book ai didi

php - 寻找简单的PHP多路加密方法

转载 作者:行者123 更新时间:2023-12-04 18:21:44 26 4
gpt4 key购买 nike

我需要借助 secret 静态 key 来解密加密的 POST 值字符串。

我看过 crypt() (但它只是单向的)和 Mcrypt,GnuPG,......但我对它们不满意。我认为它们对于我的简单问题来说太复杂了。我应该使用什么?我不需要 IV 形状或 super 安全的算法。是否有任何我不知道的基本 PHP 函数?

我只需要像这样向用户隐藏图像路径:
ImageJPEG(ImageCreateFromJPEG(decode($_REQUEST['encryptedImage'],'secret Key')));

最佳答案

更新(27/09/17):

mcrypt_encrypt 起已弃用PHP 7.1.0 .我添加了一个简单的加密/解密使用 openssl .

function encrypt($string, $key = 'PrivateKey', $secret = 'SecretKey', $method = 'AES-256-CBC') {
// hash
$key = hash('sha256', $key);
// create iv - encrypt method AES-256-CBC expects 16 bytes
$iv = substr(hash('sha256', $secret), 0, 16);
// encrypt
$output = openssl_encrypt($string, $method, $key, 0, $iv);
// encode
return base64_encode($output);
}

function decrypt($string, $key = 'PrivateKey', $secret = 'SecretKey', $method = 'AES-256-CBC') {
// hash
$key = hash('sha256', $key);
// create iv - encrypt method AES-256-CBC expects 16 bytes
$iv = substr(hash('sha256', $secret), 0, 16);
// decode
$string = base64_decode($string);
// decrypt
return openssl_decrypt($string, $method, $key, 0, $iv);
}

$str = 'Encrypt this text';
echo "Plain: " .$str. "\n";

// encrypt
$encrypted_str = encrypt($str);
echo "Encrypted: " .$encrypted_str. "\n";

// decrypt
$decrypted_str = decrypt($encrypted_str);
echo "Decrypted: " .$decrypted_str. "\n";

原答案:

再简单不过了: (PHP < 7.1.0):
<?php 
define('SECRET',md5('Some secret key'));

function encrypt($value){
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
return mcrypt_encrypt(MCRYPT_RIJNDAEL_256, SECRET, $value, MCRYPT_MODE_ECB, $iv);
}

function decrypt($value){
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, SECRET, $value, MCRYPT_MODE_ECB, $iv));
}

?>

关于php - 寻找简单的PHP多路加密方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10536664/

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