Jump to content
karina pereira refacho

[Resolvido] transformar Js em php

Recommended Posts

Pessoal tenho um script em js gostaria de rodar ele somente no php e não tenho noção de php, como eu faria isso segue o codigo abaixo

//the seed pair itself
var clientSeed = "5e3c6ad2-2874-4693-81ea-73d241b3c06b"; 
var serverSeed = "2304528a-c364-4b48-94d4-0f232bd65a2d";
var nonce = 130; //bet made with seed pair
//crypto lib for hmac function
var crypto = require('crypto');
var roll = function(key, text) {
    var hash = crypto.createHmac('sha512', key).update(text).digest('hex');
    var index = 0;
    var lucky = parseInt(hash.substring(index * 5, index * 5 + 5), 16);
    //keep grabbing characters from the hash while greater than
    while (lucky >= Math.pow(10, 6)) {
        index++;
        lucky = parseInt(hash.substring(index * 5, index * 5 + 5), 16);
        //if we reach the end of the hash, just default to highest number
        if (index * 5 + 5 > 128) {
            lucky = 99.99;
            break;
        }
    }
    lucky %= Math.pow(10, 4);
    lucky /= Math.pow(10, 2);
    return lucky;
}
console.log(roll(serverSeed, clientSeed+'-'+nonce));

Desde já agradeço a atenção de todos

Share this post


Link to post
Share on other sites

O PHP já implementa criptografia hmacSha512. Nesse caso, é só usar a função built-in:

$sig = hash_hmac('sha512', $text, $key);

 

Share this post


Link to post
Share on other sites
4 horas atrás, Gabriel Heming disse:

O PHP já implementa criptografia hmacSha512. Nesse caso, é só usar a função built-in:


$sig = hash_hmac('sha512', $text, $key);

 

obrigado pela resposta, tentei aqui e não consegui, estou quebrando a cabeça, como disse sou muito leigo com php nunca trabalhei com esse codigo, montei o script abaixo preciso que esse script me de o resultado dos 3 primeiros rolos por exemplo resultado nonce 1 = 71.12 nonce 2 = 11 nonce 3 = 22.50 , mas esta dando um erro testei no phptester.net

<?php
$clientSeed = "5e3c6ad2-2874-4693-81ea-73d241b3c06b";
$serverSeed = "2304528a-c364-4b48-94d4-0f232bd65a2d";
$nonce = 1 , 2 , 3;
$crypto = ('crypto');
$roll = function ($key, $text) use (&$crypto) {
$sig = hash_hmac('sha512', $text, $key);
	
	$index = 0;
$lucky = parseInt($hash->substring($index * 5, $index * 5 + 5), 16);
while ($lucky >= pow(10, 6)) {$index++;
$lucky = parseInt($hash->substring($index * 5, $index * 5 + 5), 16);
if ($index * 5 + 5 > 128) {
$lucky = 99.99;
break;}}$lucky %= pow(10, 4);
$lucky /= pow(10, 2);
return $lucky;
}
;
echo ' BET ID '.$lucky.' = '.$index.'<br />' ;

obrigada novamente pela atenção

Share this post


Link to post
Share on other sites
12 horas atrás, Gabriel Heming disse:

O PHP já implementa criptografia hmacSha512. Nesse caso, é só usar a função built-in:


$sig = hash_hmac('sha512', $text, $key);

 

ola amigo estou quase la estou o dia inteiro mexendo aqui bem consegu montar o codigo em php so que o resultado esta dando errado se voce rodar esse codigo no phptester o resultado será 27.15 esse resultado esta errado pois teria que ser 59.01 segue codigo abaixo

<?php
$server_seed = '045cd8e4-f3ff-43ef-a9b3-7ea53b8e3ba7';
$client_seed = '2f9b58c4-94c9-4d1a-b2e9-f38edc82c7e4';
$nonce = 10; //numero de jogada real
$hash = hash_hmac('sha512', $server_seed, $client_seed.'-'. $nonce);
$index = 0;
$start = $index * 5;
$end = 5;
$sub = substr($hash, $start, $end);
$roll = intval($sub, 16);
while($roll >= 1000000){
$index++;
$start = $index * 5;
$end = +5;
$sub = substr($hash, $start, $end);
$roll = intval($sub, 16);
if($roll >= 1000000){
if($index * 5 + 5 > 128){
$roll = 99.99;
return $roll;
}
}
else{
break;
}
}
$roll %= 10000;
$roll /= 100;
echo ' BET ID '.$roll.' = ' ;

onde esta escrito no codigo escrito numero de jogada real e a bet numero 10, gostaria que aparecesse o resultado certo que e 59.01 não sei onde oss calculos estão errados, desde já agradeço a atenção

Share this post


Link to post
Share on other sites

Eu não estou conseguindo testar aqui, mas, pelo que vejo, você está invertendo os parâmetros e não está implementando o código por completo.

 

O correto é primeiro o text e depois a key

$hash = hash_hmac('sha512', $client_seed.'-'. $nonce , $server_seed);

Pode ser que o quarto parâmetro (opcional) tenha que ser true:

$hash = hash_hmac('sha512', $client_seed.'-'. $nonce , $server_seed , true);

Seria bom você nos criar um ambiente testávei do seu código, seja no JSFiddle ou no CodePen, para que possamos validar/debugar.

Share this post


Link to post
Share on other sites
1 hora atrás, Gabriel Heming disse:

Eu não estou conseguindo testar aqui, mas, pelo que vejo, você está invertendo os parâmetros e não está implementando o código por completo.

 

O correto é primeiro o text e depois a key


$hash = hash_hmac('sha512', $client_seed.'-'. $nonce , $server_seed);

Pode ser que o quarto parâmetro (opcional) tenha que ser true:


$hash = hash_hmac('sha512', $client_seed.'-'. $nonce , $server_seed , true);

Seria bom você nos criar um ambiente testávei do seu código, seja no JSFiddle ou no CodePen, para que possamos validar/debugar.

obrigada pela resposta funcionou sem o parâmetro (true) nos parâmetros acima e possivel fazer sair os 5 resultados por exemplo nessa parte do codigo

$nonce = 10; //numero de jogada real

no codigo acima como eu faço para ele dar o resultado do rolo 01 , 02 , 03 , 04 , 05 ou seja aparecer os 5 resultados

obrigada pela gentileza tenha uma ótima semana

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Carcleo
      A ideia:
       
      toda e entrada no site, seja com link direto do tipo:
       
      www.site.com.br/pasta1/pasta2/arquivo.php  
      ou normal url amigável
       
      www.site.com.br/categoria/tipo  
      tudo queria que redirecionasse para o index.php da raiz do site.
       
      E que, caso o arquivo ou pasta NÃO existisse, abrisse normalmente a pagina 404.php
       
       
      Tentei de tres formas mas nenhuma dá certo.
       
      Primeira forma
      RewriteEngine On ErrorDocument 400 http://www.sortecard.com.br/index.php ErrorDocument 401 http://www.sortecard.com.br/401.php ErrorDocument 403 http://www.sortecard.com.br/403.php ErrorDocument 404 http://www.sortecard.com.br/404.php ErrorDocument 500 http://www.sortecard.com.br/500.php php_value allow_url_fopen on php_value allow_url_include on php_flag mail_filter 0 RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^(.*)$ index.php?page=$1 Segunda forma:
      Options +FollowSymLinks DirectorySlash On RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f [OR] RewriteCond %{REQUEST_FILENAME} \.php$ RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?request=$1 [L] Terceira forma:
      RewriteEngine On ErrorDocument 400 http://www.sortecard.com.br/index.php ErrorDocument 401 http://www.sortecard.com.br/401.php ErrorDocument 403 http://www.sortecard.com.br/403.php ErrorDocument 404 http://www.sortecard.com.br/404.php ErrorDocument 500 http://www.sortecard.com.br/500.php php_value allow_url_fopen on php_value allow_url_include on php_flag mail_filter 0 RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteRule ^(.*)$ index.php?page=$1 Problemas:
       
      A) Quando acesso a url diretamente não está redirecionando para o index.
      B) Quando falo que é para redirecionar todos os arquivos ele não me dá os parêmetros. 
    • By Pellegrini3834
      Ola galera do IMasters!!!!!!
       
      Estou com uma duvida eu tenho um CRUD em php MVC e queria saber em que camada fica as mensagens depois de uma realização de um evento por exemplo:
      Cadastro de Pessoa, depois de cadastrada quero que ele emita uma mensagem dizendo que a "PESSOA FOI CADASTRADA COM SUCESSO!!!!" e eu queria saber  em que parte ela fica se é no Controle ou na View porque sabemos que no modelo fica a parte referente a manipulação de dados.
      Obrigado.
    • By Henrique Augusto Rohloff
      Olá! Sou iniciante e estou treinando para configurar uma página de buscas de produtos em um banco de dados.
      Os produtos já estão sendo encontrados quando a palavra bate com os itens do banco. A conexão com o banco de dados está funcionando corretamente. Porém, quando nada é encontrado, queria que aparecesse uma mensagem "Nenhum resultado, tente novamente." Já tentei com  else de tudo que é jeito mas não aparece corretamente... Qual é o jeito certo?
       
      Segue o código:
       
       
    • By maruoppolo
      Olá, tenho 2 tabelas:
       
      tb_dados: ID - MUSICA
       
      tb_votos: ID - VOTO - RADIO - MUSICA
       
      Preciso fazer uma query que traga as musicas da tb_dados porém ordenando pelo número de votos que ela teve na tb_votos.
       
      Então assim, existem 2 tipos de voto 1 = like e 2 = dislike, cada ver que um usuário vota eu pego qual radio que ele esta ouvindo e salvo no campo radio, o id da musica na tb_dados e salvo no campo musica da tb_votos e coloco o número 1 para like e 2 para dislike no campo voto.
       
      A query precisa contar quantos likes teve na tv_votos filtrando por radio e mostrando os resultados em ordem decrescente as musicas com mais likes.
       
      A ideia é trazer as 10 musicas com mais like de cada radio
       
      Alguma ideia de como fazer?? Estou enroscado nisso a dias.
    • By Chester1
      oi, eu to tentando mexer com servidores agora no PHP e esta dando um erro muito estranho que quando eu procuro em um programa que acha erros de sintaxe ele me diz que o erro esta no </HTML>    se alguem puder me dizer qual foi o erro que eu cometi eu agradeceria
       

       
      <HTML> <HEAD><TITLE>incluindo no banco de dados</TITLE></HEAD> <body> <BODY bgcolor="#d0d0d0"> <center> <h3>Lanchonete coma bem (voltada para o internauta)</h3> <h1>24horas</h1> <?php $login_digitado=$_POST['login']; $senha=$_POST['senha']; $nome=$_POST['nome']; $email=$_POST['email']; $telefone=$_POST['telefone']; $celular=$_POST['celular']; $endereco=$_POST['endereco']; $complemento=$_POST['complemento']; if ($login_digitado == "" || $senha == "" || $nome =="" || $email == "" || $telefone == "" || $endereco == "" || $complemento == "") { echo "existem(m) campos(s) de preenchimento obrigatorio em branco,<BR> infelizmente tera que voltar para preenche-lo(s)."; echo "<BR><a href=\"cadastro.php\">clique aqui para tentar novamente</a>"; } else { { $link=mysql_connect("localhost", "root", "") or die ("<h1>nao foi possivel conectar !!!</h1> ".mysql_error());  
      obs :estou trabalhando com formularios e servidores
         
         
         
         
      ?>
      </BODY>
      </HTML>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.