Как кодировать php в base64 в этом формате?

#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. Большое вам спасибо, я пытался и все еще не могу этого сделать. Ваш код отлично работает, еще раз спасибо.