PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
КимЧенИн
Отправлено: 01 Декабря, 2021 - 01:07:17
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Окт. 2018  


Помог: 0 раз(а)




Нужно переписать js функцию на php
Там используются побитовые операции. Числа которые используются в таких операциях в отличии от php 32 разрядные. Более того, когда происходит переполнение, возвращается отрицательное значение.
И это отрицательное число дальше используется в функции.
Как такое реализовать на php?
Прикреплено изображение (Нажмите для увеличения)
Screenshot_2021-12-01_01-49-18.png

(Отредактировано автором: 01 Декабря, 2021 - 01:10:38)

 
 Top
Vladimir Kheifets
Отправлено: 01 Декабря, 2021 - 10:07:46
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 793
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 33 раз(а)




КимЧенИн пишет:
Нужно переписать js функцию на php
Там используются побитовые операции. Числа которые используются в таких операциях в отличии от php 32 разрядные. Более того, когда происходит переполнение, возвращается отрицательное значение.
И это отрицательное число дальше используется в функции.
Как такое реализовать на php?

Добрый день!
Не могли бы Вы показать код JS-функции и код её вызова?
Удачи!
 
 Top
КимЧенИн
Отправлено: 01 Декабря, 2021 - 13:43:51
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Окт. 2018  


Помог: 0 раз(а)




Здравствуйте
эта функция вычисляет хеш для захода в админку, вот так она вызывается
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var pass = 'qwerty';
  3. var user = 'admin';
  4. var token = 'qeTYkhKjkjkbb42334656';
  5. token=token.trim();
  6.  
  7.  
  8. var psd = base64encode(SHA256(user + base64encode(SHA256(pass)) + token));
  9.  

вот основной момент который все вычесляет
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function S (X, n) {
  3.         return ( X >>> n ) | (X << (32 - n));
  4.     }
  5. function R (X, n) {
  6.         return ( X >>> n );
  7.     }
  8.  
  9. function Ch(x, y, z) {
  10.         return ((x & y) ^ ((~x) & z));
  11.     }
  12.  
  13. function Maj(x, y, z) {
  14.         return ((x & y) ^ (x & z) ^ (y & z));
  15.     }
  16.  
  17. function Sigma0256(x) {
  18.         return (S(x, 2) ^ S(x, 13) ^ S(x, 22));
  19.     }
  20.  
  21. function Sigma1256(x) {
  22.         return (S(x, 6) ^ S(x, 11) ^ S(x, 25));
  23.     }
  24.  
  25. function Gamma0256(x) {
  26.         return (S(x, 7) ^ S(x, 18) ^ R(x, 3));
  27.     }
  28.  
  29. function Gamma1256(x) {
  30.         return (S(x, 17) ^ S(x, 19) ^ R(x, 10));
  31.     }
  32.  

(Отредактировано автором: 01 Декабря, 2021 - 13:48:06)

 
 Top
Vladimir Kheifets
Отправлено: 01 Декабря, 2021 - 20:23:58
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 793
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 33 раз(а)




КимЧенИн пишет:
...эта функция вычисляет хеш для захода в админку...

Правильноль я понял - Вы заходите в админку из JS, а хотите заходить из PHP
и Вы хотите написать собственную PHP-функцию для вычисления хеш такую же как в JS?
М.б. для вычисления хеш попробовать использовать стандартные функции PHP.
 
 Top
КимЧенИн
Отправлено: 01 Декабря, 2021 - 22:25:43
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Окт. 2018  


Помог: 0 раз(а)




Да, спасибо за участие. Я думал это самописный китайский код, оказалось что это аналог base64_encode и sha
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB