Advertisement
DevNeon

전치 암호

Nov 6th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.40 KB | None | 0 0
  1. # 전치 암호
  2. import math
  3.  
  4. text = input("문자열 입력 : ")
  5. text = text.upper()
  6. print(f"\n 문자열 : {text} \n")
  7. key = str(input("키값 입력 : "))
  8. print(f"\n 키값 : {key} \n")
  9.  
  10. text_arr = [ [""] * len(key) for i in range( math.ceil( len(text) / len(key) ) ) ]
  11. result_arr = [ [""] * len(key) for i in range( math.ceil( len(text) / len(key) ) ) ]
  12.  
  13. #입력 문자열 표 변환
  14. idx = 0
  15. for row in range(0, len(text_arr)) :
  16.     for col in range(0, len(text_arr[row])) :
  17.         if ( len(text) > idx ) :
  18.             text_arr[row][col] = text[idx]
  19.         else :
  20.             text_arr[row][col] = "Z"
  21.         idx += 1
  22.        
  23. # 입력 문자열 표 출력
  24. for row in range(0, len(text_arr)) :
  25.     for col in range(0, len(text_arr[row])) :
  26.         print(text_arr[row][col], end=" ");
  27.     print("")
  28. print("")
  29.  
  30. # 암호화 변환
  31. for row in range(0, len(result_arr)) :
  32.     for col in range(0, len(result_arr[row])) :
  33.         result_arr[row][col] = text_arr[row][int(key[col]) - 1]
  34.  
  35. # 암호화 문자 표 출력
  36. for row in range(0, len(text_arr)) :
  37.     for col in range(0, len(text_arr[row])) :
  38.         print(result_arr[row][col], end=" ");
  39.     print("")
  40. print("")
  41.  
  42. # 최종 암호문 열 순서로 출력
  43. row = 0
  44. print(" 암호문 : ", end="")
  45. for col in range(0, len(text_arr[row])) :
  46.     for row in range(0, len(text_arr)) :
  47.         print(result_arr[row][col], end="");
  48. print("")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement