Advertisement
dkanavis

misha random

Mar 18th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.40 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. import sys
  4. import os
  5. import string
  6. import random
  7. import fileinput
  8.  
  9. if sys.version_info < (2, 5):
  10.     import md5
  11. else:
  12.     from hashlib import md5
  13.  
  14. def random_str(y):
  15.     return "".join(random.choice(string.ascii_letters) for x in range(y))
  16.  
  17. m = md5()
  18. with open(__file__) as f:
  19.     file_content = f.read()
  20.     if sys.version_info >= (3,):
  21.         m.update(file_content.encode())
  22.     else:
  23.         m.update(file_content)
  24.  
  25. print("Name: %s" % os.path.basename(__file__))
  26. print("Size: %d bytes" % os.stat(__file__).st_size)
  27. print("Hash: %s" % m.hexdigest())
  28. print("""On each run file changes its size, hash sum and filename.
  29. It's impossible to find it then.
  30. It's not like itself now. Each copy has its own identity.""")
  31.  
  32. file_rows = file_content.rstrip("\n").split("\n")
  33. file_rows[-1] = ("### LAST HASH: %s RANDOM STR: %s" % (
  34.                  m.hexdigest(), random_str(random.randint(1, 255))))
  35. with open(__file__, "w") as f:
  36.     f.write("\n".join(file_rows))
  37.  
  38. basedir = os.path.dirname(__file__)
  39. new_name = random_str(10)
  40. os.rename(__file__, "%s.py" % os.path.join(basedir, new_name))
  41.  
  42. if sys.version_info >= (3,):
  43.     input("Press enter ")
  44. else:
  45.     raw_input("Press enter ")
  46.  
  47. ### LAST HASH: b04f380f30bfdcc6e8bd53cad7fdd96c RANDOM STR: eSZGCFFnAxRuOtpbIJhyQRayCvUXmIVzPBDvxYFYRVsiJwwFMWylmAvMcXyAcskRmSskcikljwQumhOVQkBaKokPvLfCfmJKnYMwdqxvsQANABbiqtTBXWMkOCfqrmjKRWgjzZzvwRepmLjRAlODTPvUljdIpSKxuZXUbrcQEDTf
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement