Khóa bí mật trong Python là gì?

Trong bài viết này, bạn sẽ học cách tạo khóa bí mật cho các dự án python của mình. Đây là hướng dẫn dành cho những người đam mê trăn;

Được rồi, Hãy bắt đầu. 🎉🎉🎉

Đầu tiên, chúng ta sẽ tạo một thư mục dự án

Mở cmd trên hệ thống của bạn

Dấu nhắc lệnh, AKA cmd là chương trình mô phỏng trường nhập trong màn hình giao diện người dùng dựa trên văn bản với giao diện người dùng đồ họa [GUI] của Windows. Nó có thể được sử dụng để thực thi các lệnh đã nhập và thực hiện các chức năng quản trị nâng cao

Đối với người dùng cửa sổ

  1. Điều hướng đến thanh tìm kiếm trên khu vực thanh tác vụ
  2. Loại
    b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
    
    0
  3. Nhấp vào Dấu nhắc lệnh

Dành cho người dùng Mac

  1. Nhấn Command + Space Bar trên Bàn phím máy Mac của bạn
  2. Nhập vào
    b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
    
    1
  3. Khi bạn thấy Terminal trong danh sách tìm kiếm Spotlight, hãy nhấp vào nó để mở terminal

Tạo một thư mục dự án

Tôi sẽ tạo nó trên máy tính để bàn của mình – đó là sự lựa chọn của bạn nơi bạn tạo của bạn

Đối với người dùng cửa sổ

  1. Loại
    b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
    
    2
  2. Loại
    b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
    
    3

Mkdir là từ khóa tạo thư mục tệp và khóa bí mật là tên của thư mục dự án

Dành cho người dùng Mac

  1. Loại

    b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
    
    4

    Pwd là viết tắt của Print Working Directory

  2. Loại

    b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
    
    5

CD là viết tắt của Thay đổi thư mục

  1. Loại
    b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
    
    3

Mkdir là viết tắt của Make Directory

Bây giờ chúng ta đã tạo thành công thư mục dự án, hãy tạo khóa bí mật của chúng ta 🚀

Điều này sẽ được thực hiện trong ba bước dễ dàng, đơn giản

Trước khi bắt đầu, hãy đảm bảo hệ thống của bạn đã cài đặt python. Nếu bạn chưa cài đặt python, hãy nhấp vào python. org/downloads, chọn hệ thống OS [Operating System] sau đó nhấn nút download. Tải về phiên bản mới nhất, nó có nhiều tính năng tốt hơn

Cài đặt Windows

phượng hoàng. com/kb/how-to-install-python-3-w

Cài đặt máy Mac

tài liệu. hướng dẫn python. org/bắt đầu/install3/osx

Cài đặt Linux

tài liệu. hướng dẫn python. org/bắt đầu/install3/linux

Tạo Khóa bí mật của bạn trong ba bước

  1. Nhập
    b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
    
    7 và nhập
  2. Nhập
    b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
    
    8 và nhập
  3. Nhập
    b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
    
    9 và nhập

Mô-đun bí mật được sử dụng để tạo các số ngẫu nhiên mạnh về mật mã phù hợp để quản lý dữ liệu như mật khẩu, xác thực tài khoản, mã thông báo bảo mật và các bí mật liên quan

Những bí mật. token_hex[[nbytes=None]] trả về một chuỗi văn bản ngẫu nhiên, ở dạng thập lục phân. Chuỗi có nbyte byte ngẫu nhiên, mỗi byte được chuyển đổi thành hai chữ số hex. Nếu nbytes là Không có hoặc không được cung cấp, thì một giá trị mặc định hợp lý sẽ được sử dụng. Trong trường hợp này, nybtes là 16 nên đầu ra sẽ là một chuỗi văn bản ngẫu nhiên [bao gồm cả bảng chữ cái và số]

Anh ta yêu cầu thợ khóa giỏi nhất của mình thiết kế bốn chiếc chìa khóa độc đáo. Sau đó, anh ta khóa rương kho báu của mình và ném bốn chiếc chìa khóa vào lửa và nhìn chúng tan chảy.

Chiếc rương kho báu hơn 600 năm được cất giữ ở một địa điểm bí mật và chưa được mở ra. Chưa ai có thể tạo ra bốn chiếc chìa khóa để mở rương kho báu

Gần đây, các nhà sử học từ Đại học Cambridge đã tìm thấy một mảnh giấy da và một lá thư có chữ ký của thợ khóa Richard II. Trong bức thư này, anh ấy giải thích rằng khi chúng được tạo ra, mỗi chiếc chìa khóa được cấp một mã duy nhất và những mã này là tất cả những gì cần thiết để tạo lại chìa khóa

Trên giấy da, các nhà sử học đã tìm thấy một bản vẽ sơ bộ của từng chiếc chìa khóa và mã của ba chiếc chìa khóa đó. Mã cho khóa thứ tư không còn đọc được

Nhìn vào mã của ba khóa đầu tiên, liệu bạn có thể tìm ra mã của khóa thứ tư không?

Để truy cập vào một session ID, bạn cần sử dụng một khóa mã hóa được gán cho biến

import uuid
uuid.uuid4[].hex
0, vì vậy lúc đó chúng ta đặt giá trị của biến
import uuid
uuid.uuid4[].hex
0 ở dạng chuỗi là cực kỳ nguy hiểm. Khóa này cần được tạo ngẫu nhiên

Tại sao điều đó lại quan trọng?

Nếu khách hàng bằng cách nào đó có thể đoán được khóa bí mật, thì họ có thể tạo dữ liệu phiên của mình mà máy chủ sẽ không từ chối và bạn có thể đoán được;

Vậy ID phiên để làm gì?

Câu hỏi sau đó trở thành. làm cách nào để chúng tôi tạo một khóa thực sự ngẫu nhiên?

Hãy bắt đầu và chuyển sang tài liệu Flask;

Trong khi làm theo tài liệu, chúng tôi mở trình bao Python và nhập mô-đun

import uuid
uuid.uuid4[].hex
2, sau đó sử dụng hàm
import uuid
uuid.uuid4[].hex
0 và chuyển 24 vào bên trong hàm này để bạn có thể tạo một chuỗi ngẫu nhiên có kích thước liên kết bằng thuộc tính mà chúng tôi đã chuyển

Khi chúng tôi nhấn Enter hoặc in nó, chúng tôi nhận được khóa này

b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'

Khóa bí mật này không hoạt động đối với ứng dụng Flask của bạn, vì vậy bạn phải tạo khóa từ hệ thống của mình. Sau khi tạo khóa, lấy chuỗi đó, quay lại ứng dụng Flask và gán nó cho biến

import uuid
uuid.uuid4[].hex
0

Có một số cách để lấy khóa bí mật và chúng tôi sẽ xem xét một cách khác để tạo khóa thập lục phân. Để tạo khóa này, chúng ta cần nhập mô-đun

import uuid
uuid.uuid4[].hex
2 và từ hàm
import uuid
uuid.uuid4[].hex
3, chúng ta sẽ sử dụng thuộc tính
import uuid
uuid.uuid4[].hex
4

import uuid
uuid.uuid4[].hex

đầu ra

'd5fb8c4fa8bd46638dadc4e751e0d68d'

Trong Flask, có một cách khác để tự xác định khóa bí mật;

app.config['SECRET_KEY']='Define_The_Key'

Khi làm việc với thanh công cụ

import uuid
uuid.uuid4[].hex
4 trong ứng dụng Flask, cần xác định khóa bí mật vì
import uuid
uuid.uuid4[].hex
6 không hoạt động nếu không xác định khóa bí mật của chúng ta trong ứng dụng Flask. Chúng ta có thể sử dụng bất kỳ phương pháp nào để xác định khóa bí mật

Mã nguồn hoàn chỉnh của ví dụ

from flask import Flask,render_template
from flask_debugtoolbar import DebugToolbarExtension

# import os
# os.urandom[24]

# import uuid
# uuid.uuid4[].hex

app = Flask[__name__]

app.debug=True
# app.config['SECRET_KEY']='Define_The_Key'

HEX_SEC_KEY= 'd5fb8c4fa8bd46638dadc4e751e0d68d'

app.config['SECRET_KEY']=HEX_SEC_KEY
TBAR=DebugToolbarExtension[app]


@app.route['/', methods=['GET']]
def DEB_EX[]:
    return render_template['index.html']

if __name__=='__main__':
    app.run[]

Khi chúng tôi chạy máy chủ, chúng tôi có thể thấy thanh công cụ đang hoạt động bình thường và không có lỗi nào xảy ra trong bảng điều khiển

Việc sử dụng khóa bí mật trong Flask là gì?

Mỗi ứng dụng web Flask chứa một khóa bí mật được sử dụng để ký cookie phiên nhằm bảo vệ chống giả mạo dữ liệu cookie . Điều rất quan trọng là kẻ tấn công không biết giá trị của khóa bí mật này.

Làm cách nào để cài đặt mô-đun bí mật trong Python?

Ví dụ - .
nhập bí mật dưới dạng sc
nhập chuỗi
trình tự = chuỗi. ascii_letters + chuỗi. chữ số
trong khi đúng
mật khẩu = ''. tham gia [sc. lựa chọn [dãy] cho tôi trong phạm vi [8]]
nếu [bất kỳ [c. islower[] cho c trong mật khẩu] và any[c. isupper[]
cho c trong mật khẩu] và tổng [c. isdigit[] cho c trong mật khẩu] >= 3]

Chủ Đề