Portál AbcLinuxu, 10. května 2025 10:54
Řešení dotazu:
<?php echo __FILE__;
$file = __FILE__; // /var/www/prace/admin/index.php $key = 's654gf6s54dfs6d5'; // muj klic pro kodovani a dekodovani $tajne = zakoduj($file, $key); // 8w798rte79g8fd4s5g4sdg46a54g6dsa5gf4 $ukaz = dekoduj($tajne, $key); // /var/www/prace/admin/index.phpDíky
function encrypt($str, $key) { $block = mcrypt_get_block_size('des', 'ecb'); $pad = $block - (strlen($str) % $block); $str .= str_repeat(chr($pad), $pad); return mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB); } function decrypt($str, $key) { $str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB); $block = mcrypt_get_block_size('des', 'ecb'); $pad = ord($str[($len = strlen($str)) - 1]); return substr($str, 0, strlen($str) - $pad); }
function encrypt($str, $key) { $block = mcrypt_get_block_size('des', 'ecb'); $pad = $block - (strlen($str) % $block); $str .= str_repeat(chr($pad), $pad); return base64_encode(mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB)); } function decrypt($str, $key) { $str = mcrypt_decrypt(MCRYPT_DES, $key, base64_decode($str), MCRYPT_MODE_ECB); $block = mcrypt_get_block_size('des', 'ecb'); $pad = ord($str[($len = strlen($str)) - 1]); return substr($str, 0, strlen($str) - $pad); } $key = 'p455w0rd'; $encrypted = encrypt('Lorem ipsum dolor sit amet', $key); echo $encrypted."\n"; $decrypted = decrypt($encrypted, $key); echo $decrypted."\n";
V3rAUkwOt9iBv/fDZ3XHoexNA9RDdQimuRf9qmXS2xM= Lorem ipsum dolor sit amet
base64_decode
si zjevně poradí s nezarovnaným řetězcem, tipl bych si že je jedno kolik těch '=' tam na konci bude.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.