Python - UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 32: ordinal not in range(128)

 
Vista:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 32: ordinal not in range(128)

Publicado por Jose Omar (1 intervención) el 02/09/2019 06:04:00
Trato de encriptar este texto:

Este examen solo es una prueba más en la vida de que todo lo que se proponen lo pueden lograr(incluso lo que sueñan), sin embargo es importante saber que solo con "esfuerzo" se pueden lograr ciertas cosas, #sino la mayoría#, así como aprendieron las vocales a e i o u, los numeros 0123456789 y posteriormente el abecedario abcdefghyjklmnñopqrstuvwxyz. ¿suerte?... quizás; más bien esfuerzo, el esfuerso se premia con 100%

y lo hago con este script:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# -*- coding: utf-8 -*-
import Crypto
import binascii
from Crypto.PublicKey import RSA
from Crypto. Cipher import PKCS1_OAEP
 
random_generator = Crypto.Random.new().read
private_key = RSA.generate(4096, random_generator)
public_key = private_key.publickey()
 
private_key = private_key.exportKey(format='DER')
public_key = public_key.exportKey(format='DER')
 
private_key = binascii.hexlify(private_key).decode("utf8")
public_key = binascii.hexlify(public_key).decode("utf8")
 
#print(private_key)
#print(public_key)
 
 
 
private_key = RSA.importKey(binascii.unhexlify(private_key))
public_key = RSA.importKey(binascii.unhexlify(public_key))
mensaje = raw_input("Introduce mensaje: \n")
mensaje = mensaje.encode()
 
cipher = PKCS1_OAEP.new(public_key)
mensaje_encriptado = cipher.encrypt(mensaje)
print(mensaje_encriptado)
 
cipher = PKCS1_OAEP.new(private_key)
mensaje = cipher.decrypt(mensaje_encriptado)
print(mensaje)

y al ingresar el texto a encriptar el terminal me devuelve esto

Traceback (most recent call last):
File "asimetrico.py", line 25, in <module>
mensaje = mensaje.encode()
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 32: ordinal not in range(128)


Como prodria solucionar esto, cambie el encoding a otros formatos y no hay solucion a menos que quite acentos y las "ñ" del texto a encriptar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 1.120
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 32: ordinal not in range(128)

Publicado por kip (257 intervenciones) el 03/09/2019 19:02:45
Hola, puedes decirnos que te muestra si ejecutas esta linea:

1
print type(raw_input("Introduce mensaje: \n"))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar