Advertisement
Areafishing

invite_

May 6th, 2019
606
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.42 KB | None | 0 0
  1. <?php
  2. function base64url_encode($data)
  3. {
  4.     return rtrim(strtr(base64_encode($data) , '+/', '_-') , '=');
  5. }
  6. function base64url_decode($data)
  7. {
  8.     return base64_decode(str_pad(strtr($data, '_-', '+/') , strlen($data) % 4, '=', STR_PAD_RIGHT));
  9. }
  10. function decode_invite_link($link)
  11. {
  12.     $data = bin2hex(base64url_decode($link));
  13.     $link_data[0] = substr($data, 0, 16);
  14.     $link_data[1] = substr($data, 16, strlen($data));
  15.     $invite_hash = base64url_encode(hex2bin($link_data[1])) . "==";
  16.     $invite_chat_id = $link_data[0];
  17.     $b1 = $invite_chat_id[6] . $invite_chat_id[7];
  18.     $b2 = $invite_chat_id[4] . $invite_chat_id[5];
  19.     $b3 = $invite_chat_id[2] . $invite_chat_id[3];
  20.     $b4 = $invite_chat_id[0] . $invite_chat_id[1];
  21.     $b5 = $invite_chat_id[14] . $invite_chat_id[15];
  22.     $b6 = $invite_chat_id[12] . $invite_chat_id[13];
  23.     $b7 = $invite_chat_id[10] . $invite_chat_id[11];
  24.     $b8 = $invite_chat_id[8] . $invite_chat_id[9];
  25.     $invite_chat_id = unpack("J", hex2bin($b1 . $b2 . $b3 . $b4 . $b5 . $b6 . $b7 . $b8)) [1];
  26.     return ["link" => $link, "invite_chat_id" => $invite_chat_id, "invite_hash" => $invite_hash, "hash" => $link_data[1]];
  27. }
  28. // example
  29. var_dump(decode_invite_link("AJQ1d583WQ6yAItekJGsIcCC"));
  30. //result:
  31. /* array(4) {
  32.   ["link"]=>
  33.   string(24) "AJQ1d583WQ6yAItekJGsIcCC"
  34.   ["invite_chat_id"]=>
  35.   int(8589934592240727967)
  36.   ["invite_hash"]=>
  37.   string(16) "sgCLXpCRrCHAgg=="
  38.   ["hash"]=>
  39.   string(20) "b2008b5e9091ac21c082"
  40. } */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement