Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- def encrypt_message(letter, key):
- # Om tecknet inte är a-z ska det inte röras
- if ord(letter) < 97 or ord(letter) > 122:
- return chr(ord(letter))
- # Om teckner går utanför z ska det fortsätta vid a
- elif ord(letter) + key > 122:
- return chr(ord(letter) + key - 26)
- else:
- return chr(ord(letter) + key)
- def decrypt_message(letter, key):
- # Om tecknet inte är a-z ska det inte röras
- if ord(letter) < 97 or ord(letter) > 122:
- return chr(ord(letter))
- # Om teckner går utanför a ska det fortsätta vid z
- elif ord(letter) - key < 97:
- return chr(ord(letter) - key + 26)
- else:
- return chr(ord(letter) - key)
- # Skapa listan keyvalue som innehåller 7 slumpade siffror
- keyvalue = []
- keys = "0123456789"
- for i in range(7):
- keyvalue.append(random.choice(keys))
- keyvalue = [int(i) for i in keyvalue]
- # Läser texten ur en fil och sparar den som message
- with open("text.txt", "r") as f1:
- encryptMessage = f1.read()
- encryptMessage = encryptMessage.lower()
- f1.close()
- repeatedKey = keyvalue * len(encryptMessage) # Gör så nycklarna upprepar sig
- encrypted_message = ""
- currentKey = 0
- # ---------------------------------------------------------------------
- # Går genom varje tecken i encryptMessage
- for char in encryptMessage:
- if char == " ": # Nycklen ändras ej om char == " "
- encrypted_message += encrypt_message(char, repeatedKey[currentKey])
- else:
- encrypted_message += encrypt_message(char, repeatedKey[currentKey])
- currentKey += 1
- # Sparar den krypterade texten i encrypt.txt
- with open("encrypt.txt", "w") as f2:
- f2.write(encrypted_message)
- f2.close()
- # ---------------------------------------------------------------
- with open("encrypt.txt", "r") as f3:
- decryptMessage = f3.read()
- decryptMessage = decryptMessage.lower()
- f3.close()
- currentKey = 0
- decrypted_message = ""
- for char in decryptMessage:
- if char == " ":
- decrypted_message += decrypt_message(char, repeatedKey[currentKey])
- else:
- decrypted_message += decrypt_message(char, repeatedKey[currentKey])
- currentKey += 1
- with open("decrypt.txt", "w") as f4:
- f4.write(decrypted_message)
- f4.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement