Score em 99%.. seria meu código ou meu JSON? ou 2? :/

Olá!
Já revi meu código, mas não consigo bater 100%… cravei nos 99%…
Seria alguma coisa no meu código (parâmetros do POST) ou no meu arquivo json?

Se continuar em 99% tenho alguma chance?

Obrigado!!

Você verificou se está tratando todos os casos?

  • O processo de cifrar/decifrar deve ignorar simbolos e apenas tratar as letras minusculas.
  • A string cifrada/decifrada sempre será (ou deverá ser transformada em) caixa baixa (lowercase).
  • Caso o numero de casas seja grande é possível que o valor cifrado exceda o limite de caracteres (eg. > 122 ou < 97 em ascii), dessa forma é preciso tratar como uma lista circular (se passar do ultimo, volta pra o inicio e vice-versa).

Pode ser algum desses pontos que você não tenha tratado 100%.

2 Curtidas

Olá, boa tarde!

  • A mensagem descriptografada está inteligível? Se sim, verifique se está mantendo pontuações, espaços.
  • Outro ponto pode ser seu algorítmo HASH (SHA1), confronte a criptografia gerada por ele com simuladores de SHA1 que você consegue encontrar na internet.
  • Sobre a post request, a mesma deverá ser realizada com o JSON em “multipart/form-data”.
    Bem, estes são alguns pontos que consegui pensar que poderiam implicar na perda de pontuação.
    Boa sorte em sua participação no desafio!
1 Curtida

A principico está tudo certo…
*O algoritmo tratou o ciclo a >> z…
*tem o String.toLowerCase pra tratar as minúsclas…
*e tem um filtro p garantir q sejam tratados apenas as letras no decifra…

a única coisa q eu percebi foi que alguns valores acabaram se invertendo dentro do JSON:

JSON recebido:
{“numero_casas”:,“token”:"",“cifrado”:" “,“decifrado”:” “,“resumo_criptografico”:”"}

JSON que será enviado:
{“resumo_criptografico”:" “,“numero_casas”:,“cifrado”:” “,“decifrado”:”",“token”:""}

Será q pode ser isso?

Obrigado pela ajuda @Dove2d9!!

@Ptarmigan3a9 vou olhar a parte de hash… não tinha me atentado a testar o SHA-1…
tb vou revisar o “multipart/form-data” no meu codigo…

Obrigado!!

A ordem não deveria interferir… não fixei ordem dos atributos no JSON e deu tudo certo por aqui. Talvez o @meajuda pode dar uma luz sobre isso.

A sugestão do @Ptarmigan3a9 realmente faz sentido… o HASH pode ser o problema aí… verifica se ta gerando certinho e garante que é um SHA-1 e armazena como uma String em hexadecimal.

O multipart/formdata não acho que seja pois se o Content-Type ta errado ele daria erro de cara sem gerar score.

1 Curtida

@Macaw7e4

Só pra garantir que teu algoritmo ta correto, verifica teu resultado com esse:

{
    "token": "************************************",
    "cifrado": "uif cftu xbz up hfu b qspkfdu epof gbtufs jt up tubsu tppofs kjn ijhitnjui",
    "decifrado": "the best way to get a project done faster is to start sooner jim highsmith",
    "numero_casas": 1,
    "resumo_criptografico": "97d0bed0b3ec676610f39726830ab3acf106abc8"
}
1 Curtida

@Dove2d9
O meu JSON tá bem parecido com seu…
{“resumo_criptografico”:“8622f30940bf67fb0238832fee88a0b4fee1f47”,“numero_casas”:2,“cifrado”:“uwurkekqp ku jgcnvja. kv yknn mggr aqw cnkxg. ncwtgnn m. jcoknvqp”,“decifrado”:“suspicion is healthy. it will keep you alive. laurell k. hamilton”,“token”:********************************}

Agora… verificando o hash online… encontrei uma diferença, que era o ‘zero’ à esquerda…
“08622f30940bf67fb0238832fee88a0b4fee1f47”
o meu está assim >> “8622f30940bf67fb0238832fee88a0b4fee1f47”

hehehe… achou o problema então. pra 1% só pode ser isso.

1 Curtida

Boa!
Com os hexadecimais pode ocorrer esta perda de 0’s dentro da HASH (como no seu caso), dependendo uma concatenação do 0, a partir da verificação do tamanho padrão do SHA1 já resolve.

1 Curtida

@Ptarmigan3a9 e @Dove2d9

Consegui resolver o problema do ‘0’ no hash, mas não saiu de 99%… e p prazo do meu desafio encerra hj… kkkk
Muito obrigado pela ajuda!!
Abração!

Putz,

Mas não esquenta… 99% ainda é uma ótima nota. As vezes é algum detalhe muito mínimo.
Se fosse algo critico vc não tinha tirado o score que tirou.

Boa sorte!

1 Curtida