Closed kennedimalheiros closed 11 months ago
Mas pode isso, Arnaldo ? Quem define os caracteres válidos é o padrão EMV, e eu ficaria muito surpreso de um padrão basicamente estadunidense incluir acentuados...
Também pensava o mesmo, mas o nubank deixa escrever com acento e gera o EMV com acentuação, ai minha função de calcular não está batendo com o mesmo crc gerado.
Vou fazer mais alguns testes, mas inicialmente consegui fazer, fiz o emv.encode('utf-8') antes de fazer a validação. Se alguém tiver alguma sugestão melhor eu aceito.
Também pensava o mesmo, mas o nubank deixa escrever com acento e gera o EMV com acentuação, ai minha função de calcular não está batendo com o mesmo crc gerado.
Mas precisa ver se o Nubank está ou não fazendo certo... corrigir problemas de interoperabilidade por fora dos padrões gera o que a comunidade IETF chama de "Camelo", em referência a padrões que ficam na prática complexos para lidar com idiossincrasias de algumas implementações.
Não estou ainda afirmando que seja o caso, apenas que o caminho é entender o que deveria estar sendo feito.
Realizei um teste com outros bancos e constatei que eles estão aceitando. Além disso, não encontrei informações explícitas na documentação que me permitam afirmar categoricamente que eles estão gerando incorretamente. Por essa razão, estou fazendo alguns ajustes.
Alguém pode me ajudar a validar/(fazer o cálculo) CRC16 de um emv que tenha acentuação no Informações Adicionais.
Já pesquisei na documentação do Bacen, mas não encontrei a regra.