我使用這個功能,我做了加密數據:收到錯誤PHP中的功能mcrypt_cbc()
function encryptCredential($data) {
$key = '9cqkTFHOfOmKn8kt&NSlIK*XMRWWx*tNY$azRdEvm2to*AQOll%8tP18g35H!zNg9l85pgnww$&[email protected]&23acq^*FWf*xdnmI%7aWwM6JQLm%tzYG^*[email protected]';
$encryptedData = mcrypt_cbc(MCRYPT_TripleDES, substr($key,0,32), pad($data), MCRYPT_ENCRYPT, substr($key,32,16));
return base64_encode($encryptedData);
}
那麼PHP給了我這樣的警告:
PHP Warning: mcrypt_cbc() [<a href='function.mcrypt-cbc'>function.mcrypt-cbc</a>]: The IV parameter must be as long as the blocksize in /home/xxxxx/public_html/libraries/global.inc.php on line xx
是我的鑰匙太長?它應該是多少個字符?
'//啓動墊unpad功能 功能墊($文本){// 添加一個0x80的字節,並讓PHP墊使用0x00字節。 返回包(「a * H2」,$ text,「80」); //返回$ text; } 函數unpad($ text){ //返回所有除了0x00字節被刪除的文本的尾部0x80 return substr(rtrim($ text,「\ 0」),0,-1); // return trim($ text); } // end pad unpad functions' – MrPHP 2011-02-27 10:52:04
從[manual](http://www.php.net/manual/en/function.mcrypt-cbc.php):「此功能不應該再使用,請參閱mcrypt_generic()和mdecrypt_generic()用於替換。「 – 2011-02-27 10:52:08