@gvbrdxu

Как сделать такой же код в php?

Пробовал составить код этих двух функций из javascript, но не получилось.

Как сделать это же на php ?

function Encrypt(theText) {
output = new String;
Temp = new Array();
Temp2 = new Array();
TextSize = theText.length;
for (i = 0; i < TextSize; i++) {
	rnd = Math.round(Math.random() * 122) + 20;
	Temp[i] = theText.charCodeAt(i) + rnd;
	Temp2[i] = rnd;
}
for (i = 0; i < TextSize; i++) {
	output += String.fromCharCode(Temp[i], Temp2[i]);
}
return output;
}

function unEncrypt(theText) {
output = new String;
Temp = new Array();
Temp2 = new Array();
TextSize = theText.length;
for (i = 0; i < TextSize; i++) {
	Temp[i] = theText.charCodeAt(i);
	Temp2[i] = theText.charCodeAt(i + 1);
}
for (i = 0; i < TextSize; i = i+2) {
	output += String.fromCharCode(Temp[i] - Temp2[i]);
}
return output;
}
  • Вопрос задан
  • 189 просмотров
Решения вопроса 1
@easycode
не боюсь задавать глупые вопросы ))
На скорую руку - не проверял корректность - но примерно так:

<?php 

function Encrypt($theText) {
  $output = '';
  $Temp = [];
  $Temp2 = [];
  $TextSize = strlen($theText);
  for ($i = 0; i < $TextSize; $i++) {
    $rnd = round(mt_rand * 122) + 20;
    $Temp[$i] = ord($theText{$i}) + $rnd;
    $Temp2[$i] = $rnd;
  }
  for ($i = 0; $i < $TextSize; $i++) {
    $output += chr($Temp[$i]) . chr($Temp2[$i]);
  }
  return output;
}

function unEncrypt($theText) {
  $output = '';
  $Temp = [];
  $Temp2 = [];
  $TextSize = strlen($theText);
  for ($i = 0; $i < $TextSize; $i++) {
    $Temp[$i] = ord($theText{$i});
    $next = $i + 1;
    $Temp2[$i] = ord($theText{$next});
  }
  for ($i = 0; $i < $TextSize; $i=$i+2) {
    $output .= chr($Temp[$i] - $Temp2[$i]);
  }
  return $output;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@gvbrdxu Автор вопроса
Не много поправил код из ответа, но оказалось реализация этого изначально провальная в браузере не корректно будет отображаться шифрованный текст и задавание кодировки не поможет. Хотя возможно в js оно криво разобрало т.к оно так фигово копируется текст выведенный на стр и возможно если передавать это будет работать нормально.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы