शुक्रवार, सितम्बर 17, 2021
होमTech UpdatePython Encryption and Decryption of String and file

Python Encryption and Decryption of String and file [Hindi]

Python Encryption and Decryption Program बनाने के लिए हमे सबसे पहले Cryptography Library को install करना होगा। Cryptography Library Install करने के लिए हमे pip install command को command prompt या terminal मे रन करना होगा ।

cryptography library को इन्स्टाल करने के लिए हमे नीचे दी गयी कमांड को CMD, Terminal या PowerShell मे रन करना होगा।

pip install cryptography

उपर दी गयी कमांड को रन करने के लिए आपके कम्प्युटर मे Python का इन्स्टाल होना जरूरी है, अगर आपने अभी तक python को इन्स्टाल नही किया है तो Qualitybaba.com पर How to install python in computer ? article लिखा हुआ है इसे पढ़ कर आप आसानी से अपने कम्प्युटर मे Python को इन्स्टाल कर पाओगे ओर साथ ही Python मे काम भी कर पाएगे ।

Cryptography library के fernet module का काम key generate करना है ताकि हम String या text file को Encrypt और decrypt कर सके, ऐसे मे हमे cryptography library के fernet module को import करना होगा । इम्पोर्ट करने के लिए हुमे नीचे दी गयी लिने को अपने source code मे जोड़ना होगा ।

from cryptography.fernet import Fernet
# Install Library file using -> pip install cryptography

fernet Module के कुछ method जो हम इस्तेमाल करेगे :-

generate_key() : इस method का इस्तेमाल करके हम एक new fernet key को generate कर पाएगे । ओर साथ ही इस key का इस्तेमाल हम फ़ाइल को encrypt या decrypt करने के लिए इस्तेमाल करेगे, लेकिन आपको इस key को ध्यान से रखना होगा क्यूकी जिस key का इस्तेमाल करके फ़ाइल को Encrypt किया गया होगा उसी key के इस्तेमाल से Decrypt किया जा सकता है ।

# Generate a secret key to Encrypt String or file 
def generate_key(secret_name):
    key = Fernet.generate_key()
    with open(secret_name + ".key","wb") as key_file:
        key_file.write(key)
        print('key is generated')

दिए गए function के source code का इस्तेमाल करके हम secret key को generate कर सकते है ।

encrypt(data) : इस method का इस्तेमाल हम data को encrypt करने के लिए करते है । डाटा का encrypt करने के लिए हमे key की जरूरत पड़ती है ओर उस की को generate हम ऊपर दिए गए function का इस्तेमाल कर सकते है ,

# Function for encrypt the string 
def encrypt_message(message, key):
    # key = load_key()
    encoded_msg = message.encode() 
    f = Fernet(key)
    encrypt_msg = f.encrypt(encoded_msg)
    return encrypt_msg

दिए गए function के source code का इस्तेमाल करके मैसेज को encrypt किया जा सकता है ।

यह भी जाने :   Laptop Battery Life कैसे बढ़ाए ? 10 रामबाण इलाज।

decrypt(data) : इस method का इस्तेमाल हम data को decrypt करने के लिए करते है । डाटा का decrypt करने के लिए हमे key की जरूरत पड़ती है ओर ये key same वही key होनी चाहिए जिसके द्वारा msg को encrypt किया गया है ।

# function for decrypt the encrypted string using generated key 
def decrypt_message(enc_msg, key):
    # key = load_key() 
    f = Fernet(key)
    dec_msg = f.decrypt(enc_msg)
    return dec_msg.decode()

Source code of Python Encryption and Decryption Program using Cryptography

source code :

# ''' 
#     ##################################################################################################
#     #                                                                                                #
#     #                       This Project is Created By 'Abhimanyu Vaishnav'                          #
#     #                       Email : '[email protected]'                                   #
#     #                                                                                                #
#     ##################################################################################################
# '''

from cryptography.fernet import Fernet
# Install Library file using -> pip install cryptography

from os import system,name
from time import sleep

# Function for Clearing screen every time when function is call
def screnn_clear():
    if name=='nt':
        _ = system('cls')
    else :
        _ = system('clear')

# Generate a secret key to Encrypt String or file 
def generate_key(secret_name):
    key = Fernet.generate_key()
    with open(secret_name + ".key","wb") as key_file:
        key_file.write(key)
        print('key is generated')

# Load file for reading or writing data 
def load_file_data(file_name):
    return open(file_name,"rb").read()

# Function for encrypt the string 
def encrypt_message(message, key):
    # key = load_key()
    encoded_msg = message.encode() 
    f = Fernet(key)
    encrypt_msg = f.encrypt(encoded_msg)
    return encrypt_msg
     
# function for decrypt the encrypted string using generated key 
def decrypt_message(enc_msg, key):
    # key = load_key() 
    f = Fernet(key)
    dec_msg = f.decrypt(enc_msg)
    return dec_msg.decode()

# Create a Function for File Encrption and Decryption
# filename (str) and Key (bytes) data should be enter
def encrypt_file(filename,key):
    f = Fernet(key)
    with open(filename,"rb") as file:

        # read all file data
        file_data = file.read()

        # encrypt the File 
        encrypt_data = f.encrypt(file_data)

        # write the file with encrypt data 
        with open(filename,"wb") as file:
            file.write(encrypt_data)


def decrypt_file(filename,key):
    f = Fernet(key)
    with open(filename,"rb") as file:

        # read all file encrypted data
        encrypt_data = file.read()

        # encrypt the File 
        decrypt_data = f.decrypt(encrypt_data)

        # write the file with encrypt data 
        with open(filename,"wb") as file:
            file.write(decrypt_data)


# Here our Working Module Start 
while True :

    print("\n\n Here We are going to Encrypt/Decrypt file or any String \n")
    print("\n Choose Where you want to apply Operation ")
    print("\n  1. String \n  2. File \n  3. Exit \n")

    choice = int(input(" Enter your Choice (1-3) : "))

    key = ""
    # Here All Operation (ENCRYPTION AND DECRYPTION) apply on a STRING 

    if choice==1 :
        print("\n Hey, You Choose a String Option \n (Tell us What Operation you Want to Apply on String) \n")
        print(" [E] Encrypt \n [D] Decrypt \n [Q] Quit")

        opt = input("\n Enter your Operation (E/D/Q) : ")
        
        # For encryption of a String 

        if opt=='e' or opt=='E':
            print("\n\n Okay, Lets Encrypt Your String ")
            msg = input("\n Enter your Message/String Here : ")

            key_opt = input("\n Want to Generate [N] NEW Secret Key or Load [O] OLD key : ")

            temp = ""

            if key_opt=='o' or key_opt == 'O' :
                old_key_name = input("\n Enter your Old Secret Key file Name (Eg: Secret.key): ")        
                key = load_file_data(old_key_name)
                temp = old_key_name
            elif key_opt=='n' or key_opt == 'N' :
                key_name = input("\n Enter your New Secret Key file Name (Don't Include .key): ")        
                generate_key(key_name)
                key = load_file_data(key_name+".key")
                temp = key_name

            print(key)
            enc_msg = encrypt_message(msg,key)

            print("\n Encryption Success \n Your Encrpted Message is Below \n")
            print(enc_msg)

            file_save = input("\n Want to Save Encrypted Data/String in File [Y/N] : ")

            if file_save=='y' or file_save == 'Y' : 
                filename_string = input("\n Enter file name to Save your Encrypted Data [Eg: ABC or XYZ (name only)]: ")
                myfile = open(filename_string+'.txt', 'wb')
                myfile.write(enc_msg)
                myfile.close()
                print("\n SUCCESS! Your Encrypted Data is Saved in file '"+filename_string+".txt'")
            else :
                print("\n Okay, String not Saved ")

            print("\n\n #NOTE: PLEASE KEEP SAFE YOUR key '"+temp+"' FILE IN SAFE PLACE TO DECRYPT YOUR STRING \n")

        # For deryption of a String 

        elif opt=='d' or opt=='D':
            print("\n\n Okay, Lets Decrypt Your String ")
            
            dec_opt = input("\n Want to Load Encrypted Data From File [y/n] : ")

            enc_msg = ""

            if dec_opt == 'y' or dec_opt == 'Y' :
                enc_file = input("\n Enter a Encrypted Data File name (ex: abc.txt) : ")
                enc_data = load_file_data(enc_file)
                print("\n Your Encrypted Data in File \n ")
                print(enc_data)
                enc_msg = enc_data
        
            elif dec_opt=='n' or dec_opt == 'N':
                enc_msg = input("\n Enter Your Encrypted Data : ")  
            else:
                print("\n BAD CHOICE \n")
            
            key_name = input("\n Enter your Secret Key file Name (Eg: Secret.key): ")        
            key = load_file_data(key_name)

            dec_msg = decrypt_message(enc_msg,key)
            print("\n Your Decrypted Message : '"+dec_msg+"'\n")

        elif opt =='Q' or opt == 'q' :
            print("\n\n Okay :) \n\n")
            exit()   


    # Here all Operation apply on file

    elif choice==2 :
        print("\n\n Hey, You Choose a File Option \n (Tell us What Operation you Want to Apply on File) \n\n")
        
        print(" [E] Encrypt \n [D] Decrypt \n [Q] Quit")

        opt = input("\n Enter your Operation (E/D/Q) : ")
        
        # For encryption of a file 

        if opt=='e' or opt=='E':
            print("\n\n Okay, Lets Encrypt Your String ")
            filename = input("\n Enter your filename  (Eg: abc.csv) : ")

            key_opt = input("\n Want to Generate [N] NEW Secret Key or Load [O] OLD key : ")

            temp = ""

            if key_opt=='o' or key_opt == 'O' :
                old_key_name = input("\n Enter your Old Secret Key file Name (Eg: Secret.key): ")        
                key = load_file_data(old_key_name)
                temp = old_key_name
            elif key_opt=='n' or key_opt == 'N' :
                key_name = input("\n Enter your New Secret Key file Name (Don't Include .key): ")        
                generate_key(key_name)
                key = load_file_data(key_name+".key")
                temp = key_name

            print("\n Your Secret Key is Below \n")
            print(key)
            encrypt_file(filename,key)
            print("\n Your file Successfully Encrypted ")
            print("\n\n #NOTE: PLEASE KEEP SAFE YOUR key '"+temp+"' FILE IN SAFE PLACE TO DECRYPT YOUR STRING \n")

        if opt=='d' or opt=='D':
            print("\n\n Okay, Lets Decrypt Your String ")
            filename = input("\n Enter your filename (Eg: abc.csv) : ")
            key_name = input("\n Enter your Secret Key file Name (Eg: Secret.key): ")        
            key = load_file_data(key_name)
            decrypt_file(filename,key)
            
            print("\n Your Secret Key is Below \n")
            print(key)
            print("\n Your Data Was Successfully Decrypted \n")

        elif opt =='Q' or opt == 'q' :
            print("\n\n Okay :) \n\n")
            exit()


    elif choice==3 :
        print("\n\n Thankyou, bye bye \n\n")
        exit()
    else : 
        print("\nWrong Choice")    


    loop = input("\n Do you Want to Continue (y/n) : ")

    sleep(2)
    screnn_clear()

    if(loop=='n' or loop=='N'):
        break

उपर दिए गए code मे हमने फ़ाइल ओर स्ट्रिंग दोनों को Encrypt ओर Decrypt करने का तरीका बताया है ।

यह भी जाने :   Pen Drive को bootable कैसे बनाएं ? With/Without Software
Python Encryption and Decryption Program First Look
first look of Program
Python Encryption and Decryption Program Encrypt String
Python Encryption and Decryption Program Decrypt String

निष्कर्ष

तो दोस्तो आशा करते है की आपको ये पोस्ट अच्छी लगी होगी , ओर आपकी Query Python Encryption and Decryption Program with Cryptography Library कैसे बनाए solve हो गयी होगी ।

यह भी जाने :   Bina Disney + Hotstar Subscription ke Free me Online Mobile par IPL 2020 Kaise Dekhe ?

आइये हमारे साथ हमारे MISSION में जुड़िए और इस पोस्ट को अपने दोस्तों के साथ भी जरूर शेयर करे ताकि उन्हें भी कुछ नया TECHNICAL सिखने को मिले।

Quality Baba
Abhimanyu Vaishnavhttps://qualitybaba.com/
Abhimanyu Vaishnav 2015 से कंप्यूटर साइंस टीचर हैं, वह मार्केटिंग, सेल्स एक्सपर्ट है और साथ ही डिजिटल मार्केटिंग, ब्लॉग्गिंग और सॉफ्टवेयर डेवलपमेंट में उनकी अच्छी पकड़ है। अभिमन्यु का लक्ष्य सभी को आसान भाषा में तकनीकी ज्ञान प्रदान करना है ।
RELATED ARTICLES

कोई जवाब दें

Please enter your comment!
Please enter your name here

Most Popular

All Categories

Recent Comments

Stay Connected – Don’t Miss !

Subscribe our News letter and don’t miss the updates.