Portál AbcLinuxu, 29. října 2025 07:26
Ř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.