日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

pythonhash加密_Python字符串hashlib加密模块使用案例

發布時間:2024/7/23 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pythonhash加密_Python字符串hashlib加密模块使用案例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

主要用于對字符串的加密,最常用的為MD5加密:

import hashlib

def get_md5(data):

obj = hashlib.md5()

obj.update(data.encode('utf-8'))

result = obj.hexdigest()

return result

val = get_md5('123') #這里放入要加密的字符串文字。

print(val)

#簡便的寫法:

pwd = input('請輸入密碼:').encode('utf-8')

result = hashlib.md5(pwd).hexdigest()

#加鹽寫法:

import hashlib

date = 'hahahah'

ojb = hashlib.md5((date+'123123123').encode('utf-8')).hexdigest()

print(ojb)

如果要避免撞庫的行為,可以加鹽將加密數值改為更加復雜的,這樣破譯起來更加不容易。

import hashlib

def get_md5(data):

obj = hashlib.md5('abclasjd;flasdkfhowheofwa123113'.encode('utf-8')) #這里加鹽

obj.update(data.encode('utf-8'))

result = obj.hexdigest()

return result

val = get_md5('123') #這里放入要加密的字符串文字。

print(val)

案例:

說明:用戶輸入新建的用戶名和密碼,以MD5加密的形式存入文件中。再讓用戶輸入用戶名密碼進行匹配。

#!/usr/bin/env python

# _*_ coding=utf-8 _*_

import hashlib

def get_md5(data):

'''

登錄加密,將傳入的密碼進行加密處理,并返回值。

:param data: 用戶的密碼

:return: 返回MD5加密后的密碼

'''

obj = hashlib.md5('abclasjd;flasdkfhowheofwa123113'.encode('utf-8')) #這里加鹽

obj.update(data.encode('utf-8'))

result = obj.hexdigest()

return result

def seve_user(username,password):

'''

將加密后的密碼和用戶名進行保存,以| 來分割,文件為test.txt

:param username: 需要創建的用戶名

:param password: MD5后的密碼

:return: 需要更改的地方,return判斷是否保存成功。

'''

user_list = [username,get_md5(password)]

lis = '|'.join(user_list)

with open('test.txt',encoding='utf-8',mode='a')as f:

f.write(lis+'\n')

def read_user(username,password):

'''

來判斷用戶登錄所輸入的用戶名和是否正確。

:param username: 用戶輸入的用戶名

:param password: MD5加密后的密碼

:return: 如果匹配返回True

'''

with open('test.txt',mode='r',encoding='utf-8') as f:

for item in f:

infomation = item.strip()

user,pwd = infomation.split('|')

if username == user and password == pwd:

return True

while True:

'''

循環需要創建的用戶

'''

user =input('請輸入用戶名:')

if user.upper() == 'N':

break

pwd = input('請輸入密碼:')

if len(user) and len(pwd) < 8:

print('用戶名密碼不符合要求,請重新輸入。')

else:

seve_user(user,pwd)

while True:

'''

循環用戶登錄

'''

user_name = input('請輸入用戶名:')

password = input('請輸入密碼:')

start_user = read_user(user_name,get_md5(password))

if start_user:

print('登錄成功')

break

else:

print('登錄失敗')

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持聚米學院。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的pythonhash加密_Python字符串hashlib加密模块使用案例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。