WOO logo

Nesta página

Vídeo Poker (Versão Criptografada)

Nesta página

Introdução

Esta página descreve um método de jogar video poker que utiliza criptografia para garantir que as cartas distribuídas sejam predeterminadas. Se você não estiver familiarizado com as regras básicas do video poker, consulte minha página principal sobre video poker .

Para os propósitos desta página, estou analisando o Crypto.Games, por enquanto. Eles têm três versões de video poker, como segue:

  • Valetes ou melhor
  • Dez ou melhor
  • Poker bônus

O jogador deve apostar 10 créditos, embora possa escolher o valor em criptomoeda. Na minha opinião, essa exigência de dez créditos só complica as coisas desnecessariamente.

Cassinos comprovadamente justos

CryptoSlots Casino
3.9 / 5.0
Os jogadores avaliaram o CryptoSlots Casino com 3.9 de 5 estrelas.
Cadastre-se Recarregar bônus

44% Halloween Bonus

44% on $10 – $99. Redeem: 2x per day. Valid: All games (excl. Jackpot Trigger). Valid from Wednesday, October 1, 2025, 12:01 am until Friday, October 31, 2025, 11:59 pm EDT.

WOO seal
Wizard Of Odds - Aprovado
CryptoWins Casino
3.9 / 5.0
Os jogadores avaliaram o CryptoWins Casino com 3.9 de 5 estrelas.
Inscrever-se bônus - Pegajoso

77% até
₿1

New Customer Offer. T&C’s Apply. 18+. This offer is not available for players residing in Ontario. New Customer Offer. T&C’s Apply. 19+. Min deposit: 5$. Maximum cashout: $30,000. Selected games only: See the website for a list of online slots. Playthrough for the bonuses is 10 days.

Análise

A tabela a seguir mostra minha análise da tabela de pagamentos 6-9-20-75-500 do jogo Jacks or Better. A célula inferior direita mostra um retorno de 97,97%, o que equivale a uma vantagem da casa de 2,03%.

Análise de Jacks or Better

Evento Paga Combinações Probabilidade Retornar
Rubor Real 500 34.706.466 0,000021 0,010447
Straight Flush 75 184.178.161 0,000111 0,008316
Quatro de um mesmo tipo 20 3.924.486.891 0,002363 0,047252
Casa cheia 9 19.115.939.799 0,011508 0,103572
Descarga 6 19.427.500.088 0,011696 0,070173
Direto 4 18.354.238.557 0,011049 0,044198
Três de um mesmo tipo 3 123.573.760.275 0,074393 0,223178
Dois pares 2 214.462.314.819 0,129108 0,258217
Valetes ou Melhor 1 356.047.418.052 0,214344 0,214344
Todos os outros 0 905.977.999.992 0,545408 0,000000
Totais 1.661.102.543.100 1.000000 0,979696

A tabela a seguir mostra minha análise da tabela de pagamentos 5-6-22-75-500 Tens or Better. A célula inferior direita mostra um retorno de 97,97%, o que equivale a uma vantagem da casa de 2,03%.

Análise de dez ou melhor

Evento Paga Combinações Probabilidade Retornar
Rubor Real 500 38.106.048 0,000023 0,011470
Straight Flush 75 187.838.625 0,000113 0,008481
Quatro de um mesmo tipo 22 3.915.577.076 0,002357 0,051859
Casa cheia 6 19.084.542.744 0,011489 0,068934
Descarga 5 18.600.477.537 0,011198 0,055988
Direto 4 20.611.548.487 0,012408 0,049633
Três de um mesmo tipo 3 123.201.590.075 0,074169 0,222506
Dois pares 2 213.933.852.009 0,128790 0,257581
Dez ou melhor 1 420.598.763.532 0,253205 0,253205
Todos os outros 0 840.930.246.967 0,506248 0,000000
Totais 1.661.102.543.100 1.000000 0,979657

A tabela a seguir mostra minha análise da tabela de pagamentos do Bonus Poker 5-8-25-35-75-45-500. A célula inferior direita mostra um retorno de 97,94%, o que equivale a uma vantagem da casa de 2,06%.

Análise de dez ou melhor

Evento Paga Combinações Probabilidade Retornar
Rubor Real 500 35.737.262 0,000022 0,010757
Straight Flush 45 172.191.438 0,000104 0,004665
Quatro ases 70 325.566.459 0,000196 0,013720
Quatro 2s, 3s, 4s 35 875.937.305 0,000527 0,018456
Quatro números de 5 a K 25 2.725.708.639 0,001641 0,041023
Casa cheia 8 19.133.720.127 0,011519 0,092149
Descarga 5 18.714.893.725 0,011267 0,056333
Direto 4 18.432.640.328 0,011097 0,044387
Três de um mesmo tipo 3 123.733.729.692 0,074489 0,223467
Dois pares 2 214.762.339.278 0,129289 0,258578
Valetes ou Melhor 1 358.572.571.638 0,215864 0,215864
Todos os outros 0 903.617.507.209 0,543987 0,000000
Totais 1.661.102.543.100 1.000000 0,979398

Jogo Justo

Esta versão de vídeo pôquer parece ser jogada exclusivamente em cassinos online que aceitam criptomoedas . Resumidamente, o jogo encontra dez números aleatórios únicos de 0 a 51, cada um com probabilidade de 1/52, e os associa a dez cartas do baralho. Os cinco primeiros números determinam as cartas que o jogador receberá na distribuição inicial e os cinco últimos determinam as cartas que o jogador receberá, em ordem, na compra. Por exemplo, se o jogador descartar duas cartas, ele receberá a 6ª e a 7ª carta da lista na compra. A posição das cartas descartadas não importa.

A explicação a seguir sobre como a criptografia é usada pressupõe que o leitor tenha alguma familiaridade com o conceito. Para os conceitos básicos, consulte minha página sobre Dados (versão criptografada) . Para os leitores mais avançados, aqui está o processo de como o jogo escolhe dez cartas aleatórias.

  1. Defina um ponteiro chamado "posição" e atribua a ele o valor 0.
  2. Junte os seeds do servidor e do cliente, e depois os seeds do servidor, nessa ordem.
  3. Gere um hash SHA-512 da string obtida na etapa 2.
  4. Converter os dois primeiros caracteres, a partir da "posição" do símbolo de cerquilha (#) da etapa 3, de hexadecimal para decimal.
  5. Pegue os dois dígitos finais de 4.
  6. Se o resultado da etapa 5 for 51 ou menos, e ainda não tiver sido encontrado, então esse será um dos dez primeiros cartões.
  7. Incremente a "posição" em 2.
  8. Continue repetindo os passos 4 a 7 até encontrar dez cartas diferentes.
  9. As cinco primeiras cartas encontradas serão distribuídas na rodada, começando da esquerda para a direita.
  10. As próximas cinco cartas serão colocadas em uma fila para serem distribuídas na rodada de compra. Por exemplo, se o jogador comprar três cartas, ele receberá a 6ª, a 7ª e a 8ª cartas da fila.
  11. Para obter a posição de uma carta da etapa 6 e convertê-la em uma carta real, faça o seguinte:
    • A. Divida o resultado da etapa 4 por 13 e considere o resto.
    • B. Mapeie o resultado da etapa 11A para obter a classificação, da seguinte forma: 0 para A, 1 para 2, 2 para 3, ... , 9 para 10, 10 para J, 11 para Q, 12 para K.
    • C. Divida o resultado da etapa 4 por 13 e DESCARTE o resto.
    • D. Associe o resultado da etapa 11C para obter o naipe, da seguinte forma: 0 para espadas, 1 para copas, 2 para ouros, 3 para paus.

A tabela a seguir mostra a conversão de números para cartas de baralho.

Tabela de Conversão de Cartões

Classificação Espadas Corações Diamantes Clubes
UM 0 13 26 39
2 1 14 27 40
3 2 15 28 41
4 3 16 29 42
5 4 17 30 43
6 5 18 31 44
7 6 19 32 45
8 7 20 33 46
9 8 21 34 47
10 9 22 35 48
J 10 23 36 49
Q 11 24 37 50
K 12 25 38 51

Isso pede um exemplo, não é? Vejamos um.

vídeo pôquer jogos de criptomoedas imagem 4

Na tela "Provavelmente Justo" acima, as duas coisas importantes que desejo realizar são escolher MINHA PRÓPRIA Semente do Cliente (em oposição à padrão) (bc7v9bn70d7n07sn) e registrar o Hash da próxima Semente do Servidor (64e701539ecf4c03b90ecd957d6675b2f72c3fd84f04dc5eb63eed8b9a58b95b), que está na linha intitulada "Próxima semente do servidor SHA256".

vídeo pôquer jogos de criptomoedas img 2

Na imagem acima, tenho um valete e um ás de naipes diferentes, na primeira e na quarta posições.

vídeo pôquer jogos de criptomoedas img 3

Na imagem acima, eu consigo um par de valetes no sorteio.

vídeo pôquer jogos de criptomoedas imagem 5

Na captura de tela acima, voltei à seção "Jogo Justo" para observar como o cassino utiliza as duas Sementes para obter as cartas reais vistas no jogo.

vídeo pôquer jogos de criptomoedas imagem 4

A imagem acima mostra o que preciso saber para determinar quais cartas deveriam ter sido distribuídas. Vou explicar passo a passo:

  1. As instruções são vagas, mas você deve entrar no Server Seed e no Client Seed, nessa ordem. Isso lhe dará 2XMpPAbEw3qdH3HQla2K5zNwoNEFHOEYolkB969jbc7v9bn70d7n07sn.
  2. Em seguida, calcule o hash do resultado da etapa 1. Isso lhe dará 3a959bbaffd9b3928b28431c2ee688792c67a45f1933b9e11af3c7784a7bbda5674d2e768ac330a04982b9fa943c4c2cf49c952d9db956b1cd3b38c006c3a2d6. Observe que cada caractere é um numeral de 0 a 9 ou uma letra de A a F. O resultado final é um número muito grande em notação hexadecimal.
  3. Pegue os dois primeiros caracteres do Hash (3a) e converta-os de hexadecimal para decimal: 3*16 1 + a*16 0 = 48 + 10 = 58.
  4. Pegue os dois dígitos finais da etapa 3 (há apenas dois dígitos), que ainda é 58.
  5. Se o resultado da etapa 4 for de 0 a 51, associe-o a um cartão. Como 58 > 51, passamos para os próximos dois dígitos no Hash.
  6. Os dois dígitos seguintes no Hash são 95. Isso se converte em 9*16 1 + 5*16 0 = 144 + 5 = 149 na base 10.
  7. Os dois últimos dígitos de 149 são 49, que está no intervalo de 0 a 51, então vamos associá-lo a uma carta. Mais especificamente, 49 corresponde ao Valete de Paus. Esta será a primeira carta distribuída, da esquerda para a direita.
  8. Pegue os próximos dois dígitos no Hash (9b) e converta-os de hexadecimal para decimal: 9*16 1 + b*16 0 = 144 + 11 = 155.
  9. Pegue os dois dígitos finais da última etapa, que são 55.
  10. 55 não está no intervalo de 0 a 51, portanto, ignore esses dois dígitos no hash.
  11. Pegue os próximos dois dígitos no Hash (ba) e converta-os de hexadecimal para decimal: b*16 1 + a*16 0 = 11*16 + 10*1 = 176 + 10 = 186.
  12. Pegue os dois dígitos finais da última etapa, que são 86.
  13. O número 86 não está no intervalo de 0 a 51, portanto, ignore esses dois dígitos no hash.
  14. Pegue os próximos dois dígitos no Hash (ff) e converta-os de hexadecimal para decimal: f*16 1 + f*16 0 = 15*16 + 15*1 = 240 + 15 = 255.
  15. Pegue os dois dígitos finais da última etapa, que são 55.
  16. 55 não está no intervalo de 0 a 51, portanto, ignore esses dois dígitos no hash.
  17. Pegue os próximos dois dígitos no Hash (d9) e converta-os de hexadecimal para decimal: d*16 1 + 9*16 0 = 13*16 + 9*1 = 208 + 9 = 217.
  18. Pegue os dois dígitos finais da última etapa, que são 17.
  19. O número 17 está no intervalo de 0 a 51, então associe-o a uma carta. Mais especificamente, 17 corresponde ao 5 de copas. Esta será a segunda carta distribuída, da esquerda para a direita.
  20. Pegue os próximos dois dígitos no Hash (b3) e converta-os de hexadecimal para decimal: 11*16 1 + 3*16 0 = 13*16 + 9*1 = 176 + 3 = 179.
  21. Pegue os dois dígitos finais da última etapa, que são 79.
  22. 79 não está no intervalo de 0 a 51, portanto, ignore esses dois dígitos no hash.
  23. Pegue os próximos dois dígitos no Hash (92) e converta-os de hexadecimal para decimal: 9*16 1 + 2*16 0 = 9*16 + 2*1 = 208 + 9 = 146.
  24. Pegue os dois dígitos finais da última etapa, que são 46.
  25. O número 46 está no intervalo de 0 a 51, então associe-o a uma carta. Mais especificamente, 46 corresponde ao 8 de paus. Esta será a terceira carta distribuída, da esquerda para a direita.
  26. Pegue os próximos dois dígitos no Hash (8b) e converta-os de hexadecimal para decimal: 8*16 1 + 11*16 0 = 9*16 + 2*1 = 128 + 11 = 139.
  27. Pegue os dois dígitos finais da última etapa, que são 39.
  28. O número 39 está no intervalo de 0 a 51, então associe-o a uma carta. Mais especificamente, 39 corresponde ao ás de paus. Esta será a quarta carta distribuída, da esquerda para a direita.
  29. Pegue os próximos dois dígitos no Hash (28) e converta-os de hexadecimal para decimal: 2*16 1 + 8*16 0 = 2*16 + 8*1 = 32 + 8 = 40.
  30. O número 40 está no intervalo de 0 a 51, então associe-o a uma carta. Mais especificamente, 40 corresponde ao 2 de paus. Esta será a última carta da rodada, à direita.
  31. Descartei três cartas, o que significa que precisamos encontrar as próximas três cartas únicas no Hash para substituí-las.
  32. Pegue os próximos dois dígitos no Hash (43) e converta-os de hexadecimal para decimal: 4*16 1 + 3*16 0 = 4*16 + 3*1 = 67.
  33. Pegue os próximos dois dígitos no Hash (1c) e converta-os de hexadecimal para decimal: 1*16 1 + c*16 0 = 1*16 + 12*1 = 38.
  34. O número 38 está no intervalo de 0 a 51 e é único, então associe-o a uma carta, que é o três de ouros. Esta é a primeira carta a ser comprada.
  35. Pegue os próximos dois dígitos no Hash (2e) e converta-os de hexadecimal para decimal: 2*16 1 + e*16 0 = 2*16 + 14*1 = 32 + 14 = 46.
  36. O número 46 já havia sido encontrado no hash, então pulamos essas duas posições.
  37. Pegue os próximos dois dígitos no Hash (e6) e converta-os de hexadecimal para decimal: e*16 1 + 6*16 0 = 14*16 + 6*1 = 230.
  38. Pegue os dois dígitos finais da última etapa, que são 30.
  39. O número 30 está no intervalo de 0 a 51 e ainda não foi encontrado, então vamos associá-lo a uma carta. Mais especificamente, o 30 corresponde ao 5 de ouros. Esta será a segunda carta de substituição.
  40. Pegue os próximos dois dígitos no Hash (88) e converta-os de hexadecimal para decimal: 8*16 1 + 8*16 0 = 136.
  41. Pegue os dois dígitos finais da última etapa, que são 36.
  42. O número 36 está no intervalo de 0 a 51 e ainda não foi encontrado, então associe-o a uma carta. Mais especificamente, o 36 corresponde ao Valete de Ouros. Esta será a terceira carta de substituição.
  43. Não precisamos procurar mais cartas. A mão está pronta para ser pontuada e o jogador pago.

Em resumo, a tabela a seguir mostra dois caracteres por vez, desde o hash, a conversão decimal e, em seguida, a conversão para o formato de cartão, se houver.

Conversão de hash para cartão

Hash
Personagens
Decimal
Conversão
Direita Dois
Dígitos
Jogando
Cartão
3a 58 58 ou
95 49 49 Valete de paus
9b 155 55 ou
ba 186 86 ou
ff 55 55 ou
d9 217 17 5 de copas
b3 179 79 ou
92 146 46 8 de paus
8b 139 39 Ás de paus
28 40 40 2 de paus
43 67 67 ou
1c 28 28 3 de ouros
2e 46 46 r/p/c
e6 230 30 5 de ouros
88 136 36 Valete de ouros

Chave:
o/r = Conversão decimal fora do intervalo para um cartão
r/p/c = Repetição da carta anterior

Se tudo isso parece muito trabalhoso para garantir um resultado justo, tenho boas notícias! Criei um script para fazer isso por você, que está disponível no PHP Sandbox . É um recurso incrível! Para usá-lo, basta inserir a Seed do Servidor (cassino) na linha 4 e a Seed do Cliente (a sua) na linha 5 e clicar em "Executar Código". As cartas que você estava predestinado a receber aparecerão na caixa de resultados abaixo.

Caso ocorra algum problema com o código, você poderá visualizá-lo clicando no botão abaixo.

Esta página descreve um método de jogar video poker que utiliza criptografia para garantir que as cartas distribuídas sejam predeterminadas. Se você não estiver familiarizado com as regras básicas do video poker, consulte minha página principal sobre video poker .

Para os propósitos desta página, estou analisando o Crypto.Games, por enquanto. Eles têm três versões de video poker, como segue:

  • Valetes ou melhor
  • Dez ou melhor
  • Poker bônus

O jogador deve apostar 10 créditos, embora possa escolher o valor em criptomoeda. Na minha opinião, essa exigência de dez créditos só complica as coisas desnecessariamente.

Em seguida, clique em Executar Código. As cartas que você estava predestinado a receber aparecerão na caixa de resultados abaixo, bem como uma verificação de que o hash da Semente do Servidor corresponde ao que foi fornecido antes da aposta ser feita.

Apresento também uma cópia do código abaixo.

linha 1 do PHP
       // Conversão de jogo de video poker para Crypto.Games
        
$server_seed = "2XMpPAbEw3qdH3HQla2K5zNwoNEFHOEYolkB969j";
$client_seed = "bc7v9bn70d7n07sn";
$next_hash = "64e701539ecf4c03b90ecd957d6675b2f72c3fd84f04dc5eb63eed8b9a58b95b";
$rank_array=array("A",2,3,4,5,6,7,8,9,10,"J","Q","K");
$suit_array=array("spades","hearts","diamonds","clubs");
$cards_found=0;
$position=0;
$combined_seed = $server_seed.$client_seed;
echo "Semente combinada = $combined_seed\n";
$combined_hash = hash('sha512', $combined_seed);
echo "Hash da semente combinada = $combined_hash\n";
fazer
{
    $first_two=substr($combined_hash,$position,2);
    $hex_to_dec=hexdec($first_two)%100;
    se ($hex_to_dec <=51)
    {
        $repeat=0;
        se ($cards_found>0)
        {
            para ($i=0; $i<$cards_found; $i++)
            {
                se ($hex_to_dec == $card_array[$i]) 
                { $repeat=1; }
            }
        }
        se ($repeat==0)
        {
            $card_array[$cards_found] = $hex_to_dec;
            $game_position=1+($cards_found%5);
            $cards_found++;
            $rank=$hex_to_dec%13;
            $suit=intdiv($hex_to_dec,13)%4;
            se ($cards_found<=5)
            { echo "Distribua a carta $game_position =\t$rank_array[$rank] de $suit_array[$suit]\n"; }
            outro 
            { echo "Compre a carta $game_position =\t$rank_array[$rank] de $suit_array[$suit]\n"; }
        }
    }
    $position+=2;
    se ($posição==128)
    {
        echo "Erro -- Não há mais espaço no hash.\n";
        $cards_found=10;
    }
}
enquanto ($cards_found<10);
$server_seed_hash = hash('sha256', $server_seed);
se ($server_seed_hash==$next_hash)
{ echo "A semente do servidor corresponde.\n"; }
outro
{   
    echo "SEED DO SERVIDOR INCOMPATÍVEL!\n";
    echo "Semente do servidor =\t$server_seed\n";
    echo "Hash da semente do servidor =\t$server_seed_hash\n";
    echo "Suposto próximo hash=\t$next_hash\n";
}

// Procedimento
// 1. Defina a "posição" para 0. 
// 2. Junte o seed do servidor e o seed do cliente, e depois o seed do servidor, nessa ordem. 
// 3. Gere um hash SHA-512 da string da etapa 2.
// 4. Converta os dois primeiros caracteres, começando na "posição" do símbolo de cerquilha (#) da etapa 3, de hexadecimal para decimal.
// 5. Pegue os dois dígitos finais de 4. 
// 6. Se o resultado da etapa 5 for 51 ou menos, e ainda não tiver sido encontrado, então esse será um dos dez primeiros cartões.   
// 7. Incremente a "posição" em 2.
// 8. Continue repetindo os passos 4 a 7 até encontrar dez cartas únicas.  
// 9. As cinco primeiras cartas encontradas serão distribuídas na rodada, começando da esquerda para a direita.
// 10. As próximas cinco cartas serão colocadas em uma fila para serem distribuídas na rodada de compra. Por exemplo, se o jogador comprar três cartas, ele receberá a 6ª, a 7ª e a 8ª cartas da fila.// 11 Para obter a posição de uma carta da etapa 6 para uma carta real, faça o seguinte: // A. Divida o resultado da etapa 4 por 13 e pegue o resto. // B. Associe o resultado da etapa 11A para obter o valor da carta, da seguinte forma: 0 para A, 1 para 2, 2 para 3, ..., 9 para 10, 10 para J, 11 para Q, 12 para K. // C. Divida o resultado da etapa 4 por 13 e DESCARTE o resto. // D. Associe o resultado da etapa 11C para obter o naipe, da seguinte forma: 0 para espadas, 1 para copas, 2 para ouros, 3 para paus. ?>