Author Image

ezequielsp

Dec 17, 2020

Impacto da função calculaChecksum e exemplos de problemas com CRC

comunidadeintegraçãoSDKQR CodeCRCchecksumdocumentaçãoexemplo

<@!775350441965649951> Qual o impacto disso: $hex = str_pad((string) $hex, 4, "0", STR_PAD_LEFT);

No código (função calculaChecksum($str) )?

No sdk ainda não está atualizado, correto?

Respostas (7):
Avatar discord do usuario anoni_mato

anoni_mato

17/12/2020

se o CRC calculado tiver menos de 4 caracteres, força 4 caracteres adicionando zeros à esquerda (conforme documentação)

Avatar discord do usuario ezequielsp

ezequielsp

17/12/2020

O que faz eu entendi, mas digo qual era o erro nesse caso?

Avatar discord do usuario anoni_mato

anoni_mato

17/12/2020

se o CRC calculado for 123 e você colocar no QR assim em vez de 0123, o CRC estará tecnicamente errado (e provavelmente até mesmo o próprio comprimento do campo 63 estará errado: 6304123 em vez de 6303123, o que já falharia na verificação de tamanho, antes mesmo de chegar na verificação de CRC).

Avatar discord do usuario ezequielsp

ezequielsp

17/12/2020

Sim, isso eu entendi desde o início, mas quando que o $hex vai ser menor que 4096 no momento que é chamado na função: dechex($hex) ?
Vocês tem algum exemplo? - Se não tiver tudo bem, apenas curiosidade..

Avatar discord do usuario anoni_mato

anoni_mato

17/12/2020

eu tive 1 caso e uma outra pessoa aqui do grupo, há uns 2 dias, também gerou um QR que deu CRC de 3 caracteres

Avatar discord do usuario ezequielsp

ezequielsp

17/12/2020

hmm boa, e era dinâmico ou estático?

Avatar discord do usuario anoni_mato

anoni_mato

17/12/2020

o meu, estático. o outro caso, dinâmico. vou procurar aqui e te marco