Python - Encriptando con XOR en python

 
Vista:
sin imagen de perfil

Encriptando con XOR en python

Publicado por Andrés (5 intervenciones) el 23/11/2022 04:01:19
Hola!! Agradeceria mucho si alquien puede ayudarme a solucionar este ejercicio, llevo un rato sin poder resolverlo
xor
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
sin imagen de perfil

Encriptando con XOR en python

Publicado por andres prada (5 intervenciones) el 23/11/2022 14:31:16
palabra = input('\nescriba una palabra alfanumerica cualquiera: ')
clave = input("\nescriba una clave: ")
print('la palabra es: ', palabra ,'\n')
print('la clave es: ', clave ,'\n')

len(palabra)
len(clave)

if len(clave) == len(palabra):
print("son iguales")
else:
print("son diferentes")


esto es lo que llevo apenas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Encriptando con XOR en python

Publicado por tincopasan (1082 intervenciones) el 23/11/2022 15:30:40
Bueno, por lo menos ya es algo, pero...
en ninguna parte del planteo dice que muestres si son iguales o no, ni que las muestres o sea todos los print sobran. Por otro lado tenés que concatenar la clave hasta que tenga el mismo largo que la frase, como ya sabés obtener el largo es solo cuestión de igualar ambos, sumando las veces que sea necesario la calve o algún caracter hasta que sean iguales, supongo que si usan xor ya saben concatenar, buscá igualar el largo de la frase y la clave, sino lo consigues bien, poné por lo menos lo que estás intentando, eso es muy simple.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Encriptando con XOR en python

Publicado por andres prada (5 intervenciones) el 23/11/2022 15:40:26
final = ''
frase = input('\nescriba una palabra alfanumerica cualquiera: ')
clave = input("\nescriba una clave: ")
print('la palabra es: ', frase ,'\n')
print('la clave es: ', clave ,'\n')

while len(final) < len(frase):
final += clave

final = final[:len(frase)]
len(final), len(frase)

print(frase)
print(final)


ya logre igualar la clave, algun consejo para iniciar con el encriptado con xor, es la primera vez que lo hago
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Encriptando con XOR en python

Publicado por tincopasan (1082 intervenciones) el 23/11/2022 16:22:07
bien,según el planteo primero hay que usar ord() o sea:

para el largo de la cadena x = ord(cadena[x])
1
2
for x in range(len(cadena)):
    print(ord(cadena[x]))

esto devuelve el valor decimal de cada caracter
y para xor se usa :

valor ^ valor que dará en este caso otro entero

ahora deberás pasar ese entero a su valor ascii:

chr(entero)

añadiendo cada valor a una cadena obtendrás el resultado, pero está más que claro que no todos los enteros tienen un valor imprimible.

Como venis muy bien, desarrolla eso y si hay dudas vemos
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
sin imagen de perfil

Encriptando con XOR en python

Publicado por Andrés (5 intervenciones) el 23/11/2022 17:07:14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
final = ''
frase = input('\nescriba una palabra alfanumerica cualquiera: ')
clave = input("\nescriba una clave: ")
 
while len(final) < len(frase):
    final += clave
 
final = final[:len(frase)]
len(final), len(frase)
 
print(frase)
print(final)
 
frase = [ord(x) for x in frase];
clave = [ord(x) for x in clave];
enc = ''.join(chr(frase[i] * clave[i % 4]) for i in range(len(frase)))
 
 
print(frase)

ayuda por favor, aqui ya pase los caracteres a numeros como puedo hacer la operacion bit a bit para encriptar la frase?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Encriptando con XOR en python

Publicado por tincopasan (1082 intervenciones) el 23/11/2022 17:45:12
estás escribiendo de más pero si así le entendés, está bien
correciones:
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
#-*- coding: utf  -8 -*-
 
final = ''
 
frase = input('\nescriba una palabra alfanumerica cualquiera: ')
 
clave = input("\nescriba una clave: ")
 
while len(final) < len(frase):
    final += clave
 
 
final = final[:len(frase)]
len(final), len(frase)
 
print(frase)
print(final)
 
frase = [ord(x) for x in frase];
clave = [ord(x) for x in final];
 
 
print(frase)
print(clave)
 
enc=''.join([chr(frase[i] ^ clave[i]) for i in range(len(frase))])
print(enc)
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