Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Переписать маленькую функцию с Delphi

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Web-программированию только в данном разделе

Ответ
 
Опции темы
Старый 30.01.2014, 12:03   #1
Something in the way
 Сержант
Аватар для Diamant
 
Diamant сломал счётчик популярности :(Diamant сломал счётчик популярности :(Diamant сломал счётчик популярности :(Diamant сломал счётчик популярности :(Diamant сломал счётчик популярности :(Diamant сломал счётчик популярности :(Diamant сломал счётчик популярности :(Diamant сломал счётчик популярности :(Diamant сломал счётчик популярности :(Diamant сломал счётчик популярности :(Diamant сломал счётчик популярности :(
Регистрация: 26.07.2009
Сообщений: 112
Популярность: 15236
Золото Zhyk.Ru: 12
Сказал(а) спасибо: 198
Поблагодарили 205 раз(а) в 71 сообщениях
Отправить сообщение для Diamant с помощью ICQ Отправить сообщение для Diamant с помощью Skype™
 
По умолчанию Переписать маленькую функцию с Delphi

Код:
function code(var Text: string; password: string; decode: boolean): string;
var
  i, PasswordLength: integer;
  sign: shortint;
begin
  PasswordLength := Length(password);
  if PasswordLength = 0 then
    Exit;
  if decode then
    sign := -1
  else
    sign := 1;
  for i := 1 to Length(Text) do
    Text[i] := chr(ord(Text[i]) + sign *
      ord(password[i mod PasswordLength + 1]));

  Result := Text;
end;
Выше функция кодирования определенного значения. После передачи шифра на сервер, мне надо ее раскодировать обратно.

В PHP я шарю плохо, но мне жизненно необходимо выполнить задачу.
________________
Не флуди
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 30.01.2014, 13:35   #2
 Старший сержант
Аватар для Карикатуро
 
Карикатуро сломал счётчик популярности :(Карикатуро сломал счётчик популярности :(Карикатуро сломал счётчик популярности :(Карикатуро сломал счётчик популярности :(Карикатуро сломал счётчик популярности :(Карикатуро сломал счётчик популярности :(Карикатуро сломал счётчик популярности :(Карикатуро сломал счётчик популярности :(Карикатуро сломал счётчик популярности :(Карикатуро сломал счётчик популярности :(Карикатуро сломал счётчик популярности :(
Регистрация: 26.04.2010
Сообщений: 230
Популярность: 46303
Сказал(а) спасибо: 54
Поблагодарили 296 раз(а) в 208 сообщениях
 
По умолчанию Re: Переписать маленькую функцию с Delphi

в конце надо написать end.
  Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
AloneDance (30.01.2014), object (30.01.2014), the-boxi (02.02.2014)
Старый 02.02.2014, 19:29   #3
Почетный Пользователь
 Рыцарь
Аватар для the-boxi
 
the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(
Регистрация: 09.02.2011
Сообщений: 373
Популярность: 38009
Сказал(а) спасибо: 612
Поблагодарили 448 раз(а) в 175 сообщениях
Отправить сообщение для the-boxi с помощью ICQ Отправить сообщение для the-boxi с помощью MSN Отправить сообщение для the-boxi с помощью Skype™
 
По умолчанию Re: Переписать маленькую функцию с Delphi

Код:
function code(var Text: string; password: string; decode: boolean): string;
var
  i, PasswordLength: integer;
  sign: shortint;
begin
  PasswordLength := Length(password);
  if PasswordLength = 0 then
    Exit;
  if decode then
    sign := -1
  else
    sign := 1;
  for i := 1 to Length(Text) do
    Text[i] := chr(ord(Text[i]) + sign *
      ord(password[i mod PasswordLength + 1]));

  Result := Text;
end;
РНР

Код:
function code ($Text,$password,$decode)
{
$i = 0;
$sign = 1
$PasswordLenght = 0;
$PasswordLenght = strlen($password);
if($passwordLength == 0)
{
 return null; //делай проверку на пустоту :З 
 //Можешь конечно оборвать выполнение скрипта, но так не интересно. Вообще на сервере должна быть проверка на нулевое значение, а не проверять внутри функции кодирования
}
if($decode)
{
$sign = -1;
}
for($i = 1; i<=strlen($Text);i++)
{
$Text[i] = chr(ord($Text[i]) + sing*ord($password[$i % $PasswordLength + 1]));
}
retutn $Text;
}
Делфи непонятен, но думаю функции [Ссылки могут видеть только зарегистрированные пользователи. ] и [Ссылки могут видеть только зарегистрированные пользователи. ]совпадают.
Теперь думай как расскодировать.
И у тебя перебор массва идет не с нулевого элемента, а с первого. Так и нужно?

P.S. Для хранения паролей, все опытные люди используют md5, не нужно изобретать велосипед
________________
Разработка программ на заказ, все вопросы skype - the-boxi, ICQ - 616027961

Последний раз редактировалось the-boxi; 02.02.2014 в 21:27.
  Ответить с цитированием
Пользователь сказал cпасибо:
Diamant (07.02.2014)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите !!! Код с JavaScript переписать под Delphi VitProff Вопросы и ответы, обсуждения 1 05.03.2013 10:53
Переписать Лс бота SKIFCHA Вопросы и ответы, обсуждения 1 25.03.2012 07:38
[Помогите!] Переписать программу SKIFCHA Вопросы и ответы, обсуждения 1 11.03.2012 23:45
[Помогите!] как переписать dll Viner78 Общение и обсуждение, архив Point Blank 8 27.02.2011 01:26

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 14:04.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net