python 输入密码加密显示,python密码加密解密的几种方式

  python 输入密码加密显示,python密码加密解密的几种方式

  Maskpass一个类似getpass的Python库,但是它有一些高级的功能,比如屏蔽和显示。下面这篇文章主要介绍了Python中如何隐藏和加密密码的一些信息,有需要的朋友可以参考一下。

  00-1010前言maskpass()安装:ask pass(): adv pass()3360 base64()隐藏输入时间内的用户密码汇总。

  

目录

  有许多Python模块用于隐藏用户输入的密码,其中之一是* * mask pass()模块。在 Python 中,借助mask pass()模块和base64()* *模块。我们可以在输入时使用星号(*)隐藏用户的密码,然后借助base64()模块进行加密。

  

前言

  Mask()是一个Python模块,可用于在输入过程中隐藏用户的密码。mask()模块还提供了一种安全的方法来处理通过终端与用户交互的程序的密码提示。

  

maskpass()

  在命令提示符下使用pip安装maskpass。

  pip安装maskpass

  这些模块有两种类型的函数/方法:

  askpass()

  

安装:

  Askpass使用标准库来获取非阻塞输入并返回密码。

  导入遮罩通道

  pwd=maskpass.askpass()

  上面的代码执行将以字符串格式返回输入的密码。askpass()方法中有两个可选参数,即“prompt”和“mask”。prompt的默认值是“输入密码:”mask的默认值是星号(*)。

  注意:如果您想用字符串、数字或符号来屏蔽您的密码,那么只需传递掩码中的值。比如你想用井号(#)屏蔽你的密码,然后在屏蔽中传递井号,也就是mask="# ",现在当用户输入密码时,密码会被井号(#)隐藏。

  示例 1:没有在提示中回显用户的密码

  #不回应的用户密码

  导入maskpass #隐藏密码

  #屏蔽密码

  pwd=maskpass.askpass(mask= )

  打印(密码)

  输出:

  F: \ filespython password.py

  输入密码:

  海勇

  在上面的例子中,用户的密码在输入密码时没有在提示中回显,因为掩码中的赋值是空的,即mask="(没有空格),所以密码是隐藏的,没有任何字符串或符号。

  示例 2:在提示中回显用户的密码

  #回显密码,并用井号(#)掩盖

  导入maskpass #导入maskpass库

  # prompt msg=密码和

  #用井号(#)屏蔽密码

  pwd=mask pass . ask pass(prompt= password : ,mask=# )

  打印(密码)

  输出:

  F: \ filespython password.py

  密码:###########

  海勇

  在上面的例子中,用户的密码在输入密码时会在提示中回显,因为mask中赋的值是hashtag(#),即mask="# ",所以当用户输入密码时,会用井号(#)隐藏。

  

askpass():

  s():

  advpass 使用 pynput 获取文本并返回密码。advpass 在控制台和 Spyder 中都可以使用。

  

import maskpass

  pwd = maskpass.advpass()

  上面的代码执行也会以字符串格式返回输入的密码。advpass() 方法中有 4 个可选参数,它们是 'prompt'、'mask'、'ide' 和 'suppress'。

  

  • 这里提示的默认值也是输入密码:
  • 掩码的默认值为星号 (*)。
  • 这里ide需要一个布尔值,即 true 或 false,ide 的默认值为False。不需要更改 ide 的值,因为它会自动检查它是在 IDE 还是在终端上运行。
  • suppress还需要一个布尔值,即 true 或 false,仅在 Spyder IDE 中使用。将此设置为 True 可防止将输入传递给系统的其余部分。这可以防止 Spyder 控制台在按下空格键时跳下。抑制的默认值为True。

  advpass() 方法有一个显示功能,当按下 Left-Ctrl 键时,它将切换用户输入密码的可见性。再次按 Left-Ctrl 键以屏蔽/隐藏密码。注意:这仅适用于 advpass() 并且需要 pynput。

  示例 1:输入密码时不按左 ctrl 键

  

# 输入密码而不用左 CTRL 键

  import maskpass # importing maskpass library

  # 屏蔽密码

  pwd = maskpass.advpass()

  print(Password : , pwd)

  输出:

  

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

  

  在上面的输出中,密码用星号(*)符号隐藏,因为用户没有按下键盘上的左 ctrl 键。

  示例 2:在输入密码的同时按下左 ctrl 键:

  

# 输入密码而不用左 CTRL 键

  import maskpass # importing maskpass library

  pwd = maskpass.advpass() # masking the password

  print(Password : , pwd)

  输出:

  

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

  

  在上面的输出中,密码没有隐藏,因为用户按下了键盘上的左 ctrl 键。

  

  

base64()

  base64 编码和解码功能都需要一个类似字节的对象。要将字符串转换为字节,我们必须使用 Python 的内置编码函数对字符串进行编码。主要使用 UTF-8 编码,您也可以使用 'ASCII' 进行编码,但我建议使用 UTF-8 编码。

  

# encoding the string

  string = "haiyong"

  # encoding string with utf-8

  b = string.encode("UTF-8")

  print(b)

  输出:

  

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

  

  这里b前缀表示该值是一个字节对象。

  使用 base64() 模块对字符串进行编码:

  要对字符串进行编码,即将字符串转换为字节码,请使用以下方法:

  

base64.b64encode(string.encode(“utf-8”)) 

  使用 base64() 模块解码字节码:

  要解码字节码,即将字节码再次转换为字符串,请使用以下方法:

  

base64.b64decode(byte-code).decode("utf-8")

  例子:

  

# 导入用于编码和解码字符串的 base64 模块

  import base64

  string = "haiyong"

  # 编码字符串

  encode = base64.b64encode(string.encode("utf-8"))

  print("str-byte : ", encode)

  # 解码字符串

  decode = base64.b64decode(encode).decode("utf-8")

  print("byte-str : ", decode)

  输出:

  

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

  

  在上面的例子中,haiyong字符串首先使用base64模块编码,即字符串被转换为字节码,然后在base64模块的帮助下再次将字节码解码为其原始字符串,即haiyong。

  

  

在输入时间内隐藏用户密码

  

# 使用 maskpass() 隐藏输入的密码并使用 base64() 对其进行加密

  import maskpass # to hide the password

  import base64 # to encode and decode the password

  # 以用户名作为键和密码作为值的字典

  dict = {Rahul: bcmFodWw=,

   Sandeep: bU2FuZGVlcA==}

  # 创建密码的功能

  def createpwd():

   print("\n========Create Account=========")

   name = input("Username : ")

   # 使用提示 msg Password : 屏蔽密码

   pwd = maskpass.askpass("Password : ")

   # 对输入的密码进行编码

   encpwd = base64.b64encode(pwd.encode("utf-8"))

   # 在dict中附加用户名和密码

   dict[name] = encpwd

   # print(dict)

  # 登录功能

  def sign_in():

   print("\n\n=========Login Page===========")

   name = input("Username : ")

   # 使用提示 msg Password : 屏蔽密码

   pwd = maskpass.askpass("Password : ")

   # 对输入的密码进行编码

   encpwd = base64.b64encode(pwd.encode("utf-8"))

   # 以用户名作为dict中的键获取密码

   password = dict[name]

   if(encpwd == password):

   print("Successfully logged in.")

   else:

   print("Login Failed")

  # 调用函数

  createpwd()

  sign_in()

  输出:

  

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

  =========Login Page===========
Username : haiyong
Password : *****
Successfully logged in.

  

  

  

总结

  到此这篇关于如何在Python中隐藏和加密密码的文章就介绍到这了,更多相关Python隐藏和加密密码内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: