第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP 7.4直接替換mcrypt解密

PHP 7.4直接替換mcrypt解密

PHP
慕標5832272 2023-09-15 17:42:43
我有一個遺留數(shù)據(jù)庫,其內(nèi)容是使用 DES 通過 mcrypt 加密的(是的,我知道,那是很久以前的事了)加密方法如下:/** * General encryption routine for generating a reversible ciphertext * @param String $string the plain text to encrypt * @param String $key the encryption key to use * @return String the cypher text result */function encrypt($string, $key){    srand((double) microtime() * 1000000);    /* Open module, and create IV */    $td = mcrypt_module_open('des', '', 'cfb', '');    $ksub = substr(md5($key), 0, mcrypt_enc_get_key_size($td));    $iv_size = mcrypt_enc_get_iv_size($td);    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);    /* Initialize encryption handle */    if (mcrypt_generic_init($td, $ksub, $iv) != -1)    {        /* Encrypt data */        $ctxt = mcrypt_generic($td, $string);        mcrypt_generic_deinit($td);        mcrypt_module_close($td);        $ctxt = $iv . $ctxt;        return base64_encode($ctxt);    } //end if}解密方法是這樣的:/** * General decryption routine for recovering a plaintext * @param String $string the cypher text to decrypt * @param String $key the encryption key to use * @return String the plain text result */function decrypt($string, $key){    $ptxt = base64_decode($string);    /* Open module, and create IV */    $td = mcrypt_module_open('des', '', 'cfb', '');    $ksub = substr(md5($key), 0, mcrypt_enc_get_key_size($td));    $iv_size = mcrypt_enc_get_iv_size($td);    $iv = substr($ptxt, 0, $iv_size);    $ptxtsub = substr($ptxt, $iv_size);    /* Initialize encryption handle */    if (mcrypt_generic_init($td, $ksub, $iv) != -1)    {        /* Encrypt data */        $ctxt = mdecrypt_generic($td, $ptxtsub);        mcrypt_generic_deinit($td);        mcrypt_module_close($td);        return $ctxt;    } //end if}我需要在 PHP7.4 環(huán)境中提取這些數(shù)據(jù),即使只是用更好的東西重新加密它,但我不確定如何使用 PHP7.4 中存在的東西(如鈉)重現(xiàn) mcrypt 操作。我想一種方法是啟動某種仍然具有 mcrypt 的遺留 PHP 安裝并離線執(zhí)行,但是有沒有更直接的方法來編碼解密方法?
查看完整描述

2 回答

?
DIEA

TA貢獻1820條經(jīng)驗 獲得超3個贊

雖然 mcrypt 不再是 PHP 的一部分(有充分的理由),但它仍然作為模塊存在,您可以為 PHP 7.4 安裝

https://pecl.php.net/package/mcrypt

安裝它,確保重新加密所有數(shù)據(jù),更新所有舊數(shù)據(jù)后,更改代碼以不再使用它并刪除擴展


查看完整回答
反對 回復(fù) 2023-09-15
?
慕標琳琳

TA貢獻1830條經(jīng)驗 獲得超9個贊

對于使用 cPanel 的用戶,您可以簡單地在 PHP 7.3 中執(zhí)行此操作。
轉(zhuǎn)到 PHP 選擇器,如果不是最新版本,請選擇 7.3 PHP 版本,然后選擇“mcrypt”和“sodium”擴展。

然后,您可以在同一個 PHP 文件上使用兩種加密,以便在單個操作中使用“mcrypt”解密數(shù)據(jù)并使用“sodium”加密。


查看完整回答
反對 回復(fù) 2023-09-15
  • 2 回答
  • 0 關(guān)注
  • 313 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號