Advertisement
Guest User

Untitled

a guest
Jul 20th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. import pyDes, sys
  2.  
  3. # For Python3, you'll need to use bytes, i.e.:
  4. # data = b"Please encrypt my data"
  5. # k = pyDes.des(b"DESCRYPT", pyDes.CBC, b"\0\0\0\0\0\0\0\0", pad=None, padmode=pyDes.PAD_PKCS5)
  6.  
  7. def plaintext_from_file():
  8. f = open("input-des.txt", "r")
  9. content = f.read()
  10. f.close()
  11. print("Plaintext:", content)
  12. return content
  13.  
  14. def key_from_file():
  15. f = open("key-des.txt", "r")
  16. content = f.read()
  17. f.close()
  18. if len(content) != 8:
  19. print("Default key: 12345678 (has to be a multiple of 8 bytes)")
  20. return "12345678"
  21. print("Key:",content)
  22. return content
  23.  
  24. def ciphertext_to_file(content):
  25. f = open("cipher-des.txt", "w")
  26. f.write(str(content))
  27. f.close()
  28.  
  29. def ciphertext_from_file():
  30. f = open("cipher-des.txt", "r")
  31. content = f.read()
  32. f.close()
  33. return content
  34.  
  35. def plaintext_to_file(content):
  36. f = open("plain-des.txt", "w")
  37. f.write(str(content))
  38. f.close()
  39.  
  40. if len(sys.argv) != 2:
  41. print("Usage: python CipherDES.py <e> or <d>")
  42. exit()
  43. else:
  44. data = str.encode(plaintext_from_file())
  45. key = str.encode(key_from_file())
  46. k = pyDes.des(key, pyDes.CBC, b"\0\0\0\0\0\0\0\0", pad=None, padmode=pyDes.PAD_PKCS5)
  47. d = k.encrypt(data)
  48.  
  49. if sys.argv[1] == "e":
  50. d = k.encrypt(data)
  51. ciphertext_to_file(d)
  52. print ("Encrypted:", d)
  53.  
  54. elif sys.argv[1] == "d":
  55. plaintext_to_file(k.decrypt(d))
  56. print ("Decrypted:", k.decrypt(d))
  57.  
  58. else:
  59. print("Usage: <e> for encryption or <d> for decryption")
  60. exit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement