Dấu hoa thị mật khẩu Python

Có nhiều mô-đun Python khác nhau được sử dụng để ẩn mật khẩu đã nhập của người dùng, trong số đó có một mô-đun maskpass(). Trong Python với sự trợ giúp của mô-đun maskpass() và mô-đun base64(), chúng ta có thể ẩn mật khẩu của người dùng bằng dấu hoa thị (*) trong thời gian nhập và sau đó với sự trợ giúp của mô-đun base64(), nó có thể được mã hóa

mặt nạ ()

maskpass() là một mô-đun Python có thể được sử dụng để ẩn mật khẩu của người dùng trong thời gian nhập liệu. Các mô-đun maskpass() cũng cung cấp một cách an toàn để xử lý lời nhắc mật khẩu nơi các chương trình tương tác với người dùng thông qua thiết bị đầu cuối

Cài đặt

Sử dụng pip để cài đặt maskpass trong dấu nhắc lệnh

pip install maskpass

Các mô-đun này có 2 loại hàm/phương thức

  • xin pass()
  • advpass()

xin pass()

askpass sử dụng thư viện chuẩn để nhận đầu vào không chặn và trả về mật khẩu

import maskpass
pwd = maskpass.askpass()

Đoạn mã trên sẽ trả về mật khẩu đã nhập ở định dạng chuỗi. Có 2 đối số tùy chọn trong phương thức askpass(), đó là ‘prompt’ và ‘mask’. Giá trị mặc định cho lời nhắc là 'Nhập mật khẩu. ’ và giá trị mặc định cho mặt nạ là dấu hoa thị (*)

Ghi chú. Nếu bạn muốn che mật khẩu của mình bằng một chuỗi, số hoặc ký hiệu thì chỉ cần chuyển giá trị đó vào mặt nạ. Ví dụ: nếu bạn muốn ẩn mật khẩu của mình bằng thẻ bắt đầu bằng dấu thăng (#) thì hãy chuyển thẻ bắt đầu bằng # vào mặt nạ i. e. , mask=”#”, bây giờ khi người dùng nhập mật khẩu thì mật khẩu đó sẽ bị ẩn với dấu thăng (#).  

ví dụ 1. Không lặp lại mật khẩu của người dùng trong lời nhắc

Python3




import maskpass
pwd = maskpass.askpass()
0

import maskpass
pwd = maskpass.askpass()
1
import maskpass
pwd = maskpass.askpass()
2
import maskpass
pwd = maskpass.askpass()
3

 

import maskpass
pwd = maskpass.askpass()
4

import maskpass
pwd = maskpass.askpass()
5_______1_______6
import maskpass
pwd = maskpass.askpass()
7
import maskpass
pwd = maskpass.askpass()
6
import maskpass
pwd = maskpass.askpass()
9

F:\files>python password.py
Enter Password :
greeksforgreeks
0_______12_______1

đầu ra

F:\files>python password.py
Enter Password :
greeksforgreeks

Trong ví dụ trên, mật khẩu của người dùng không được lặp lại trong lời nhắc khi nhập mật khẩu vì giá trị được gán trong mặt nạ là null i. e. mask=””(không khoảng cách) do đó mật khẩu được ẩn mà không có bất kỳ chuỗi, ký hiệu nào

ví dụ 2. Nhắc lại mật khẩu của người dùng trong lời nhắc

Python3




F:\files>python password.py
Enter Password :
greeksforgreeks
2

import maskpass
pwd = maskpass.askpass()
1
import maskpass
pwd = maskpass.askpass()
2
F:\files>python password.py
Enter Password :
greeksforgreeks
5

 

F:\files>python password.py
Enter Password :
greeksforgreeks
6

F:\files>python password.py
Enter Password :
greeksforgreeks
7

import maskpass
pwd = maskpass.askpass()
5_______1_______6
F:\files>python password.py
Password:###############
greeksforgreeks
0
import maskpass
pwd = maskpass.askpass()
6_______23_______2
F:\files>python password.py
Password:###############
greeksforgreeks
3
import maskpass
pwd = maskpass.askpass()
6
F:\files>python password.py
Password:###############
greeksforgreeks
5_______23_______6

F:\files>python password.py
Enter Password :
greeksforgreeks
0_______12_______1

đầu ra

F:\files>python password.py
Password:###############
greeksforgreeks

Trong ví dụ trên, mật khẩu của người dùng sẽ được lặp lại trong lời nhắc khi nhập mật khẩu vì giá trị được gán trong mặt nạ là dấu thăng (#) i. e. mask=”#” do đó khi người dùng nhập mật khẩu, mật khẩu sẽ bị ẩn bằng dấu thăng (#).  

advpass()

advpass sử dụng pynput để lấy văn bản và trả về mật khẩu. advpass hoạt động trong cả bảng điều khiển và cả trong Spyder

import maskpass
pwd = maskpass.advpass()

Ở đây, việc thực thi mã ở trên cũng sẽ trả về mật khẩu đã nhập ở định dạng chuỗi. Có 4 đối số tùy chọn trong phương thức advpass(), chúng là 'prompt', 'mask', 'ide' và 'suppress'

  • Ở đây cũng có giá trị mặc định cho lời nhắc là 'Nhập mật khẩu. ’
  • Giá trị mặc định cho mặt nạ là dấu hoa thị (*)
  • Ở đây ide mong đợi một giá trị boolean i. e. , đúng hay sai, giá trị mặc định của ide là Sai. Không cần thay đổi giá trị của ide vì nó tự động kiểm tra xem nó đang chạy trên IDE hay terminal
  • triệt tiêu cũng mong đợi một giá trị boolean tôi. e. , true hoặc false, chỉ được sử dụng trong Spyder IDE. Đặt điều này thành True ngăn đầu vào được chuyển đến phần còn lại của hệ thống. Điều này ngăn bảng điều khiển Spyder nhảy xuống khi nhấn phím cách. Giá trị mặc định cho triệt tiêu là True

Phương thức advpass() có một tính năng tiết lộ sẽ chuyển đổi chế độ hiển thị của mật khẩu đã nhập của người dùng khi nhấn phím Ctrl trái. Nhấn lại phím Ctrl-Trái để che/ẩn mật khẩu. Ghi chú. Điều này chỉ hoạt động với advpass() và cần pynput

ví dụ 1. Không nhấn phím ctrl trái trong khi nhập mật khẩu

Python3




F:\files>python password.py
Password:###############
greeksforgreeks
9

import maskpass
pwd = maskpass.askpass()
1
import maskpass
pwd = maskpass.askpass()
2
F:\files>python password.py
Enter Password :
greeksforgreeks
5

 

import maskpass
pwd = maskpass.askpass()
4

import maskpass
pwd = maskpass.askpass()
5_______1_______6
import maskpass
pwd = maskpass.advpass()
6

F:\files>python password.py
Enter Password :
greeksforgreeks
0_______33_______8
import maskpass
pwd = maskpass.advpass()
9
F:\files>python password.py
Enter Password: ***************
Password : greeksforgreeks
0

đầu ra

F:\files>python password.py
Enter Password: ***************
Password : greeksforgreeks

Trong đầu ra ở trên, mật khẩu bị ẩn bằng ký hiệu dấu hoa thị (*) vì người dùng chưa nhấn phím ctrl bên trái trên bàn phím

ví dụ 2. Khi nhấn phím ctrl trái trong khi nhập mật khẩu

Python3




F:\files>python password.py
Password:###############
greeksforgreeks
9

import maskpass
pwd = maskpass.askpass()
1
import maskpass
pwd = maskpass.askpass()
2
F:\files>python password.py
Enter Password :
greeksforgreeks
5

 

import maskpass
pwd = maskpass.askpass()
5_______1_______6
import maskpass
pwd = maskpass.advpass()
6
import maskpass
pwd = maskpass.askpass()
4

F:\files>python password.py
Enter Password :
greeksforgreeks
0_______33_______8
import maskpass
pwd = maskpass.advpass()
9
F:\files>python password.py
Enter Password: ***************
Password : greeksforgreeks
0

đầu ra

F:\files>python password.py
Enter Password: greeksforgreeks
Password : greeksforgreeks

Trong đầu ra ở trên, mật khẩu không bị ẩn vì người dùng đã nhấn phím ctrl trái trên bàn phím

cơ sở64()

Cả chức năng mã hóa và giải mã base64 đều yêu cầu một đối tượng giống như byte. Để chuyển đổi một chuỗi thành byte, chúng ta phải mã hóa một chuỗi bằng hàm mã hóa tích hợp sẵn của Python. Hầu hết mã hóa UTF-8 được sử dụng, bạn cũng có thể sử dụng 'ASCII' để mã hóa nhưng tôi khuyên bạn nên sử dụng mã hóa UTF-8

Python3




F:\files>python password.py
Enter Password: greeksforgreeks
Password : greeksforgreeks
3

F:\files>python password.py
Enter Password: greeksforgreeks
Password : greeksforgreeks
4
import maskpass
pwd = maskpass.askpass()
6
F:\files>python password.py
Enter Password: greeksforgreeks
Password : greeksforgreeks
6

 

F:\files>python password.py
Enter Password: greeksforgreeks
Password : greeksforgreeks
7

F:\files>python password.py
Enter Password: greeksforgreeks
Password : greeksforgreeks
8_______1_______6
F:\files>python strencode.py
b'greeksforgreek'
0
F:\files>python strencode.py
b'greeksforgreek'
1_______67_______2

F:\files>python password.py
Enter Password :
greeksforgreeks
0_______67_______4

đầu ra

F:\files>python strencode.py
b'greeksforgreek'

ở đây tiền tố b biểu thị rằng giá trị là một đối tượng byte

Mã hóa chuỗi bằng mô-đun base64()

Để mã hóa chuỗi tôi. e. để chuyển đổi chuỗi thành mã byte, hãy sử dụng phương pháp sau

cơ sở64. b64encode('chuỗi'. mã hóa(“utf-8”))

Giải mã mã byte bằng mô-đun base64()

Để giải mã mã byte tôi. e. để chuyển đổi mã byte một lần nữa thành một chuỗi, hãy sử dụng phương pháp sau

cơ sở64. b64decode('byte-code'). giải mã ("utf-8")

Thí dụ

Python3




F:\files>python strencode.py
b'greeksforgreek'
5

F:\files>python strencode.py
b'greeksforgreek'
6

import maskpass
pwd = maskpass.askpass()
1
F:\files>python strencode.py
b'greeksforgreek'
8

 

F:\files>python password.py
Enter Password: greeksforgreeks
Password : greeksforgreeks
4
import maskpass
pwd = maskpass.askpass()
6
F:\files>python base64.py
str-byte : b'R3JlZWtzZm9yR3JlZWtz'
byte-str : GreeksforGreeks
1

 

F:\files>python base64.py
str-byte : b'R3JlZWtzZm9yR3JlZWtz'
byte-str : GreeksforGreeks
2

F:\files>python base64.py
str-byte : b'R3JlZWtzZm9yR3JlZWtz'
byte-str : GreeksforGreeks
3_______1_______6
F:\files>python base64.py
str-byte : b'R3JlZWtzZm9yR3JlZWtz'
byte-str : GreeksforGreeks
5
F:\files>python base64.py
str-byte : b'R3JlZWtzZm9yR3JlZWtz'
byte-str : GreeksforGreeks
6_______79_______7

F:\files>python password.py
Enter Password :
greeksforgreeks
0_______33_______8
F:\files>python "userLogin.py"
========Create Account=========
Username : Rahulraj
Password : *****

=========Login Page===========
Username : Rahulraj
Password : *****
Successfully logged in.
0
F:\files>python "userLogin.py"
========Create Account=========
Username : Rahulraj
Password : *****

=========Login Page===========
Username : Rahulraj
Password : *****
Successfully logged in.
1

 

F:\files>python "userLogin.py"
========Create Account=========
Username : Rahulraj
Password : *****

=========Login Page===========
Username : Rahulraj
Password : *****
Successfully logged in.
2

F:\files>python "userLogin.py"
========Create Account=========
Username : Rahulraj
Password : *****

=========Login Page===========
Username : Rahulraj
Password : *****
Successfully logged in.
3
import maskpass
pwd = maskpass.askpass()
6
F:\files>python "userLogin.py"
========Create Account=========
Username : Rahulraj
Password : *****

=========Login Page===========
Username : Rahulraj
Password : *****
Successfully logged in.
5
F:\files>python base64.py
str-byte : b'R3JlZWtzZm9yR3JlZWtz'
byte-str : GreeksforGreeks
6_______23_______6

F:\files>python password.py
Enter Password :
greeksforgreeks
0_______33_______8
import maskpass
pwd = maskpass.askpass()
00
import maskpass
pwd = maskpass.askpass()
01

đầu ra

F:\files>python base64.py
str-byte : b'R3JlZWtzZm9yR3JlZWtz'
byte-str : GreeksforGreeks

Trong ví dụ trên, “GreeksforGreeks” trước hết chuỗi được mã hóa bằng mô-đun base64 i. e. chuỗi được chuyển đổi thành mã byte và sau đó với sự trợ giúp của mô-đun base64, mã byte được giải mã thành chuỗi gốc i. e. “Hy Lạp cho người Hy Lạp”

Làm cách nào để hiển thị mật khẩu dưới dạng dấu hoa thị trong Python?

Trong Python với sự trợ giúp của mô-đun maskpass() và mô-đun base64() chúng ta có thể ẩn mật khẩu của người dùng bằng dấu hoa thị(*) .

Getpass trong Python là gì?

Mô-đun getpass cung cấp cách nhập mật khẩu độc lập với nền tảng trong chương trình dòng lệnh , như Ví dụ 2-25 cho thấy. getpass(prompt) in chuỗi dấu nhắc, tắt tiếng vang bàn phím và đọc mật khẩu. Nếu đối số dấu nhắc bị bỏ qua, nó sẽ in " Mật khẩu. “.

Làm cách nào để hiển thị mật khẩu dấu hoa thị trong HTML?

Thẻ . Khi các ký tự được nhập, chúng được thay thế bằng ký hiệu dấu chấm ("•") hoặc dấu hoa thị ("*") tùy thuộc vào trình duyệt.