Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: Απλός Αλγόριθμος κρυπτογράφησης Αρχείων

Απλός Αλγόριθμος κρυπτογράφησης Αρχείων 8 Χρόνια 10 Μήνες πριν #3436

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
Μόλις τελείωσα το πρώτο μου πρόγραμμα που κρυπτογραφεί και αποκρυπτογραφεί αρχεία!

Αυτό που κάνει είναι να χωρίζει τα bytes ενός αρχείου σε περίπου 7>= τμήματα <= 9, και στην συνέχεια
ξανά γράφει αυτά τα τμήματα στο ίδιο αρχείο αλλά αντιμεταθετιμένα ανά 2 τμήματα, το οποίο έχει ως
αποτέλεσμα να καταστρέφει το αρχείο(Κρυπτογράφηση).
Άμα ξανά τρέξεις το πρόγραμμα στο ίδιο αρχείο τότε θα ξανά αντιμεταθέσεις τα τμήματα και θα τα ξανά φέρεις στην σωστή τους σειρά, έτσι το αρχείο θα δουλεύει ξανά (Αποκρυπτογράφηση)!
# -*- coding: UTF-8 -*-
 
import os
 
#Χρήση:
 
#Άμα ανοίξεις ένα αρχείο που δεν είναι κρυπτογραφημένο, τότε θα κρυπτογραφηθεί.
#Εάν ειναι κρυπτογραφημένο, τότε θα αποκρυπτογραφηθεί.
 
#Όταν κρυπτογραφείς ένα αρχειο τότε το καταστρέφεις και δεν δουλεύει, ενώ
#όταν το αποκρυπτογραφείς το ξανά κάνεις πάλι έγκυρο. Έτσι αν κάποιος
#δεν γνωρίζει τον αλγοριθμό με τον οποίο το κρυπτογράφησες, δεν μπορεί
#να ανοίξει ποτέ το αρχείο.
 
def main():
    byteList = []
 
    filename = input("Filename: ")
    file = open(filename, "rb")
    fileSize =  os.path.getsize(filename)
    const   =  int((fileSize - fileSize/2) /4)
 
 
    print("Reading File...")
 
    #Διάβασμα των bytes ανά const.
    #Το loop αυτό θα τρέξει περίπου 8>=loop<=9
    #Άρα και η byteList θα έχει θέσεις περίπου 8<= len(byteList) <= 9
    while True:
 
        byte = file.read( const) #Διάβαζω τόσα bytes όσο είναι το const.
 
 
        #Τέλως αρχειου.
        if not byte:
            break
 
        byteList.append(byte) #Εισαγωγή των bytes στην λίστα.
        continue
 
    file.close() #Κλείσιμο αρχείου.
 
    print("\nFile Read!\nStart Writting...")
    file = open(filename, "wb")
 
    #Ξανά γράφω τα bytes μέσα στο αρχείο αλλά τα αντιμεταθέτω ανά 2 για να καταστρέψω το αρχείο.
    for i in range(0, len(byteList), 2):
 
        if (i < len(byteList)-1):
            const += file.write(byteList[i+1])
            const += file.write(byteList[i])
            pass
 
        else:
            file.write(byteList[i])
 
 
    file.close() #Κλείσιμο αρχείου.
    print("\nDone!")
 
main()
 
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.246 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου