Um problema com a criptografia usando chaves RSA é que ele não funciona se no meio do texto a ser criptografado há caracteres especiais ou acentos.
Para resolver isso basta alterar um pouco as funções ou métodos que criptografam e descriptografam mensagens.
Ao encriptar, pegue o parâmetro da mensagem e utilize a função htmlentitiens antes de fazer qualquer outra coisa:
Na função que descriptografa utilize a função do php html_entity_decode antes de retornar o resultado:
Para os casos testados deu tudo certo.
Para resolver isso basta alterar um pouco as funções ou métodos que criptografam e descriptografam mensagens.
Ao encriptar, pegue o parâmetro da mensagem e utilize a função htmlentitiens antes de fazer qualquer outra coisa:
function rsa_encrypt ($m, $e, $n) {
$m = htmlentities($m);
[...]
}
Na função que descriptografa utilize a função do php html_entity_decode antes de retornar o resultado:
function rsa_decrypt ($c, $d, $n) {
[...]
return html_entity_decode($resultd);
}
Para os casos testados deu tudo certo.
Comentários
Postar um comentário