Python: cifrado de asignación de índices

A veces, mientras trabajamos con Python, podemos tener problemas en el dominio de la seguridad o de los juegos, en los que necesitamos crear ciertos cifrados, pueden ser de diferentes tipos. Esto incluye Index Mapping Cypher en el que pasamos una string de números enteros y obtenemos los caracteres de los elementos en ese orden. Discutamos ciertas formas de construir esto.

Método n.º 1: Uso del bucle
Esta es la forma de fuerza bruta en la que se puede construir. En esto, verificamos manualmente cada carácter y lo asignamos como número de índice al valor en la string.

# Python3 code to demonstrate working of 
# Index Mapping Cypher 
# Using loop
  
# initializing string
test_str = "geeksforgeeks"
  
# printing original string
print("The original string is : " + test_str)
  
# initializing cypher string 
cyp_str = "53410"
  
# Index Mapping Cypher 
# Using loop
res = ""
temp = [int(idx) for idx in cyp_str]
for ele in temp:
    res += test_str[ele]
  
# printing result 
print("The deciphered value string : " + str(res)) 
Producción :

The original string is : geeksforgeeks
The deciphered value string : fkseg

Método #2: Usar join() + bucle
La combinación de las funciones anteriores también se puede usar para resolver este problema. En esto, reducimos un bucle final usando join() para construir una string de descifrado.

# Python3 code to demonstrate working of 
# Index Mapping Cypher 
# Using loop + join()
  
# initializing string
test_str = "geeksforgeeks"
  
# printing original string
print("The original string is : " + test_str)
  
# initializing cypher string 
cyp_str = "53410"
  
# Index Mapping Cypher 
# Using loop + join()
res = [test_str[int(idx)] for idx in cyp_str]
res = ''.join(res)
  
# printing result 
print("The deciphered value string : " + str(res)) 
Producción :

The original string is : geeksforgeeks
The deciphered value string : fkseg

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *