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ự ánMở 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ổ
- Điều hướng đến thanh tìm kiếm trên khu vực thanh tác vụ
- Loại
0b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
- Nhấp vào Dấu nhắc lệnh
Dành cho người dùng Mac
- Nhấn Command + Space Bar trên Bàn phím máy Mac của bạn
- Nhập vào
1b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
- 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ổ
- Loại
2b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
- Loại
3b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
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
Loại
4b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
Pwd là viết tắt của Print Working Directory
Loại
5b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
CD là viết tắt của Thay đổi thư mục
- Loại
3b'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
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
- Nhập
7 và nhậpb'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
- Nhập
8 và nhậpb'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
- Nhập
9 và nhậpb'o\xe8\xc3VS\xf3\xf8\x0c\x80Y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'
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ênTạ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ểnKhi 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
0Có 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
4import 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ậtMã 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