Looking for encryption Answers? Try Ask4KnowledgeBase
Looking for encryption Keywords? Try Ask4Keywords

encryptionEncriptación de texto a texto


Introducción

La criptografía moderna opera en bytes, no en texto, por lo que la salida de los algoritmos criptográficos es de bytes. A veces, los datos cifrados se deben transferir a través de un medio de texto y se debe utilizar una codificación segura para archivos binarios.

Parámetros

Parámetro Detalles
TE Codificacion de texto. La transformación del texto a bytes. UTF-8 es una opción común.
BE Codificación binaria. Una transformación que es capaz de procesar cualquier dato arbitrario y producir una cadena válida. Base64 es la codificación más utilizada, con Base16 / hexadecimal un buen subcampeón. Wikipedia tiene una lista de codificaciones candidatas (se adhieren a las etiquetadas como "Arbitrarias").

Observaciones

El algoritmo general es:

Encrypt

  • Transforme InputText en InputBytes través de la codificación TE (codificación de texto).
  • Cifrar InputBytes a OutputBytes
  • Transforme OutputBytes en OutputText través de BE ( codificación binaria ).

Decrypt (revertir BE y TE de Encrypt ):

  • Transforme InputText en InputBytes través de la codificación BE .
  • Descifrar InputBytes a OutputBytes
  • Transformar OutputBytes a OutputText través de TE .

El error más común es elegir una "codificación de texto" en lugar de una "codificación binaria" para BE , que es un problema si cualquier byte encriptado (o cualquier byte IV) está fuera del rango 0x20 - 0x7E (para UTF-8 o ASCII ). Como el "rango seguro" es menos de la mitad del espacio de bytes, las posibilidades de que una codificación de texto sea exitosa son muy pequeñas.

  • Si la cadena posterior al cifrado contiene un 0x00 , es probable que los programas C / C ++ lo malinterpreten como el final de la cadena.
  • Si un programa basado en consola ve 0x08 , puede borrar el carácter anterior (y el código de control), haciendo que el valor de InputText para Decrypt tenga el valor incorrecto (y la longitud incorrecta).

Encriptación de texto a texto Ejemplos relacionados