Hướng dẫn how do i password protect a text file in python? - làm cách nào để bảo vệ mật khẩu tệp văn bản trong python?

import getpass
import pickle
import hashlib
from os import path

def Encryption(data):
    return hashlib.sha512(data).hexdigest()

## First we check if the database exists.
if path.isfile('database.db'):
    with open('database.db', 'rb') as fh:
        db = pickle.load(fh)

## If it doesn't, we will create one.
else:
    ## First we create the desired variable.
    db = {'torxed' : Encryption('wham'), 'someoneelse' : Encryption('pass')}
    ## Then we open a filehandle to it.
    with open('database.db', 'wb') as fh:
        ## And then we dump the variable into the filehandle.
        ## This will keep the variable intact between sessions,
        ## meaning the next time you start your script, the variable will look the same.
        pickle.dump(db, fh)


## Then we ask the user for his/hers credentials.
user = raw_input('Username: ')
_pass = getpass.getpass('Password: ')

## If the user exists in the "db" and the decoded password
## Matches the logged in user, it's a-ok :)
if user in db and db[user] == Encryption(_pass):
    print('You logged in')

Thêm nhiều người dùng

import pickle, hashlib

def Encryption(data):
    return hashlib.sha512(data).hexdigest()

with open('database.db', 'rb') as fh:
    db = pickle.load(fh)

db['new_user'] = Encryption('password')

with open('database.db', 'wb') as fh:
    pickle.dump(db, fh)

Một cách khác là sử dụng sys.argv để lấy tên người dùng và mật khẩu từ dòng lệnh khi người dùng bổ sung, trong trường hợp đó:

import pickle, hashlib, sys
if len(sys.argv) < 3:
    raise ValueError('Need two parameters, username and password')

def Encryption(data):
    return hashlib.sha512(data).hexdigest()

with open('database.db', 'rb') as fh:
    db = pickle.load(fh)

db[sys.argv[1]] = Encryption(sys.argv[2])

with open('database.db', 'wb') as fh:
    pickle.dump(db, fh)

Tôi nên mở rộng câu trả lời này và giải thích rằng bạn cũng nên muối mật khẩu, và không chỉ lưu trữ chúng bằng băm SHA.

Cũng lưu ý rằng mật khẩu được "không an toàn" nghiêm ngặt khi được lưu trữ trong bộ nhớ, vì không có chứng khoán (thêm) trong Python khi viết điều này. Nhưng đối với mục đích cơ bản, câu trả lời này vẫn được áp dụng.

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luậnpyminizip module from python.

    Installation:

    ZIP là một định dạng tệp lưu trữ hỗ trợ nén dữ liệu không mất. Bằng cách nén không mất, chúng tôi có nghĩa là thuật toán nén cho phép dữ liệu gốc được xây dựng lại hoàn hảo từ dữ liệu được nén. Vì vậy, một tệp zip là một tệp duy nhất chứa một hoặc nhiều tệp nén, cung cấp một cách lý tưởng để tạo các tệp lớn nhỏ hơn và giữ các tệp liên quan lại với nhau.The pyminizip module can be installed using the below command:

    pip install pyminizip

    Trong bài viết này, chúng tôi sẽ tìm hiểu cách tạo zip được bảo vệ bằng mật khẩu của một tệp bằng Python. Đối với điều này, chúng tôi đang sử dụng mô -đun pyminizip từ Python.compress() method from pyminizip. So, we discuss first its syntax and arguments.

    Syntax:

    & NBSP; Mô -đun PymInizip có thể được cài đặt bằng lệnh bên dưới:

    Arguments:

    • Đường dẫn tệp SRC (Chuỗi)
    • Đường dẫn tiền tố SRC (chuỗi) hoặc không
    • Đường dẫn tệp DST (chuỗi)
    • Mật khẩu (chuỗi) hoặc không có (để tạo zip không có thông tin)
    • Compress_Level (int) trong khoảng từ 1 đến 9, 1 (nhanh hơn) 9 (nén nhiều hơn) hoặc 0 (mặc định) & nbsp;
       

    Giá trị trả lại: luôn trả về khôngAlways returns None

    Implementation:

    Tệp đầu vào:

    Hướng dẫn how do i password protect a text file in python? - làm cách nào để bảo vệ mật khẩu tệp văn bản trong python?

    Program:

    Python3

    import pyminizip

    inpt = "./Text.txt"

    import pickle, hashlib
    
    def Encryption(data):
        return hashlib.sha512(data).hexdigest()
    
    with open('database.db', 'rb') as fh:
        db = pickle.load(fh)
    
    db['new_user'] = Encryption('password')
    
    with open('database.db', 'wb') as fh:
        pickle.dump(db, fh)
    
    0=
    import pickle, hashlib
    
    def Encryption(data):
        return hashlib.sha512(data).hexdigest()
    
    with open('database.db', 'rb') as fh:
        db = pickle.load(fh)
    
    db['new_user'] = Encryption('password')
    
    with open('database.db', 'wb') as fh:
        pickle.dump(db, fh)
    
    2

    import pickle, hashlib
    
    def Encryption(data):
        return hashlib.sha512(data).hexdigest()
    
    with open('database.db', 'rb') as fh:
        db = pickle.load(fh)
    
    db['new_user'] = Encryption('password')
    
    with open('database.db', 'wb') as fh:
        pickle.dump(db, fh)
    
    3=
    import pickle, hashlib
    
    def Encryption(data):
        return hashlib.sha512(data).hexdigest()
    
    with open('database.db', 'rb') as fh:
        db = pickle.load(fh)
    
    db['new_user'] = Encryption('password')
    
    with open('database.db', 'wb') as fh:
        pickle.dump(db, fh)
    
    5

    import pickle, hashlib
    
    def Encryption(data):
        return hashlib.sha512(data).hexdigest()
    
    with open('database.db', 'rb') as fh:
        db = pickle.load(fh)
    
    db['new_user'] = Encryption('password')
    
    with open('database.db', 'wb') as fh:
        pickle.dump(db, fh)
    
    6=
    import pickle, hashlib
    
    def Encryption(data):
        return hashlib.sha512(data).hexdigest()
    
    with open('database.db', 'rb') as fh:
        db = pickle.load(fh)
    
    db['new_user'] = Encryption('password')
    
    with open('database.db', 'wb') as fh:
        pickle.dump(db, fh)
    
    8

    import pickle, hashlib
    
    def Encryption(data):
        return hashlib.sha512(data).hexdigest()
    
    with open('database.db', 'rb') as fh:
        db = pickle.load(fh)
    
    db['new_user'] = Encryption('password')
    
    with open('database.db', 'wb') as fh:
        pickle.dump(db, fh)
    
    9=
    import pickle, hashlib, sys
    if len(sys.argv) < 3:
        raise ValueError('Need two parameters, username and password')
    
    def Encryption(data):
        return hashlib.sha512(data).hexdigest()
    
    with open('database.db', 'rb') as fh:
        db = pickle.load(fh)
    
    db[sys.argv[1]] = Encryption(sys.argv[2])
    
    with open('database.db', 'wb') as fh:
        pickle.dump(db, fh)
    
    1

    import pickle, hashlib, sys
    if len(sys.argv) < 3:
        raise ValueError('Need two parameters, username and password')
    
    def Encryption(data):
        return hashlib.sha512(data).hexdigest()
    
    with open('database.db', 'rb') as fh:
        db = pickle.load(fh)
    
    db[sys.argv[1]] = Encryption(sys.argv[2])
    
    with open('database.db', 'wb') as fh:
        pickle.dump(db, fh)
    
    2
    import pickle, hashlib
    
    def Encryption(data):
        return hashlib.sha512(data).hexdigest()
    
    with open('database.db', 'rb') as fh:
        db = pickle.load(fh)
    
    db['new_user'] = Encryption('password')
    
    with open('database.db', 'wb') as fh:
        pickle.dump(db, fh)
    
    2
    import pickle, hashlib, sys
    if len(sys.argv) < 3:
        raise ValueError('Need two parameters, username and password')
    
    def Encryption(data):
        return hashlib.sha512(data).hexdigest()
    
    with open('database.db', 'rb') as fh:
        db = pickle.load(fh)
    
    db[sys.argv[1]] = Encryption(sys.argv[2])
    
    with open('database.db', 'wb') as fh:
        pickle.dump(db, fh)
    
    4

    import pickle, hashlib, sys
    if len(sys.argv) < 3:
        raise ValueError('Need two parameters, username and password')
    
    def Encryption(data):
        return hashlib.sha512(data).hexdigest()
    
    with open('database.db', 'rb') as fh:
        db = pickle.load(fh)
    
    db[sys.argv[1]] = Encryption(sys.argv[2])
    
    with open('database.db', 'wb') as fh:
        pickle.dump(db, fh)
    
    5
    import pickle, hashlib, sys
    if len(sys.argv) < 3:
        raise ValueError('Need two parameters, username and password')
    
    def Encryption(data):
        return hashlib.sha512(data).hexdigest()
    
    with open('database.db', 'rb') as fh:
        db = pickle.load(fh)
    
    db[sys.argv[1]] = Encryption(sys.argv[2])
    
    with open('database.db', 'wb') as fh:
        pickle.dump(db, fh)
    
    6

    Output:

    Hướng dẫn how do i password protect a text file in python? - làm cách nào để bảo vệ mật khẩu tệp văn bản trong python?

    Làm thế nào để mật khẩu bảo vệ một tệp văn bản trong Python?

    Syntax:..
    Đường dẫn tệp SRC (chuỗi).
    Đường dẫn tiền tố SRC Tệp (chuỗi) hoặc không có (đường dẫn để chuẩn bị cho tệp).
    Đường dẫn tệp DST (chuỗi).
    Mật khẩu (chuỗi) hoặc không có (để tạo zip không có thông tin).
    Compress_Level (int) trong khoảng từ 1 đến 9, 1 (nhanh hơn) 9 (nén nhiều hơn) hoặc 0 (mặc định).

    Tôi có thể thêm mật khẩu vào tệp TXT không?

    Chuyển đến Tệp> Thông tin> Bảo vệ tài liệu> Mã hóa bằng mật khẩu..

    Làm cách nào để mã hóa một tệp trong Python?

    Mã hóa tệp bằng cách sử dụng khóa được tạo..
    Mở tệp chứa khóa ..
    Khởi tạo đối tượng Fernet và lưu trữ nó trong biến Fernet ..
    Đọc tệp gốc ..
    Mã hóa tệp và lưu trữ nó vào một đối tượng ..
    Sau đó viết dữ liệu được mã hóa vào cùng một tệp NBA.CSV ..

    Làm cách nào để mật khẩu bảo vệ một tệp trước khi gửi nó?

    Gửi một tệp được bảo vệ bằng mật khẩu..
    Xác định vị trí tệp bạn muốn gửi trong máy tính để bàn được kết nối ..
    Nhấp chuột phải vào (các) tệp và chọn Gửi tới> người nhận thư ..
    Bật hộp kiểm để bảo vệ mật khẩu và mã hóa tất cả các tài liệu PDF được gửi trong email này và nhấp vào Gửi ..
    Nhập mật khẩu cho tệp.....
    Bấm OK ..