#php #function #base64 #decode #encode
Вопрос:
вы можете объяснить мне, как кодировать php на основе base64 с помощью декодирования base64 ниже? У меня есть php-код, который декодирует base64 в приведенной ниже кодировке:
function fn_one($a){$c='';for ($i=0;$i < strlen($a);$i ) {$b=ord($a[$i]);$c.=chr(--$b);}return $c;}$decode=call_user_func("base64_decode",call_user_func("fn_one","cnGu[R>>"));echo $decode; // Deconde "cnGu[R>>" to "name"
В php содержимое кодируется как «cnGu[R>>>» с кодом декодирования, как показано ниже, выводом после декодирования base64 является «имя».
Могу ли я закодировать следующим образом, но результат не «cnGu[R>>>»?
$encode=call_user_func("base64_encode",call_user_func("fn_one",$decode));echo $encode;// Encode "name" to "cnGu[R>>"
Итак, как я в base64 кодирую «имя» в обратном формате в формате ниже, который приводит к «имени» как «cnGu[R>>>» ? Любой правильный ответ приветствуется! Спасибо.
Комментарии:
1. Каков ожидаемый результат? Вы хотите декодировать
cnGu[R>>
доname
иname
обратноcnGu[R>>
? Будет ли использованиеbase64_encode
в сочетании сbase64_decode
вариантом?2. Привет, спасибо. Я хочу кодировать обратно, чтобы использовать вышеупомянутый декодер.
Ответ №1:
Измените его, то есть измените chr(--$b)
на chr( $b)
<?php
function fn_two($a){$c='';for ($i=0;$i < strlen($a);$i ) {$b=ord($a[$i]);$c.=chr( $b);}return $c;}
echo fn_two(base64_encode('name'));
Результат
cnGu[R>>
Комментарии:
1. Большое вам спасибо, я пытался и все еще не могу этого сделать. Ваш код отлично работает, еще раз спасибо.