Guest User

Untitled

a guest
Feb 23rd, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. #!/usr/bin/env python
  2. import sys
  3.  
  4. def score(text):
  5. charset = "_{}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789,.'\n"
  6. p = 0
  7. for s in text:
  8. if s in charset or s == ' ' or s == '\'':
  9. p+=1
  10. return p
  11.  
  12. # function that performs XOR operation on two strings
  13. def xor(s1, s2):
  14. res = ""
  15. for i in range(0, len(s1)):
  16. res += chr(ord(s1[i]) ^ ord(s2[i%len(s2)]))
  17.  
  18. return res
  19.  
  20. def main():
  21. best = ""
  22. b = 0
  23.  
  24. # bruteforcing all possible values
  25. for i in range(1, 256):
  26. c = xor(sys.argv[1].decode('hex'), chr(i))
  27. if score(c) > b:
  28. b = score(c)
  29. best = c
  30.  
  31. print "Plaintext: {}".format(best)
  32.  
  33. if __name__ == "__main__":
  34. main()
Add Comment
Please, Sign In to add comment