19 雜湊演算法 註冊登入

2022-09-12 12:48:12 字數 4386 閱讀 1880

一、雜湊演算法

雜湊:給定明文-計算出一段定長的-不可逆的值

定長輸出:不管明文輸入多少,雜湊都是定長的

不可逆:無法反向計算出對應的明文

雪崩效應:輸入改變,輸出必然變

md5:32位16進製制

場景:1.密碼處理

2.檔案完整性

用法: import hashlib

import hashlib m = hashlib.md5()  #1.生成雜湊演算法的計算物件

m.update(b'明文串') #2.傳入要轉換的字串,必須宣告bytes物件

m.hexdigest()   #3.輸出對應的hash值,十六進製制可視字元

m.digest() #3. 輸出不可視的hash值 #如果要算乙個新的值,需要生成新的update物件,不然會將前後的明文拼接起來輸出雜湊值

二、登入互動流程圖

三、models/檢視簡單實現

class user(models.model):

username = models.charfield('使用者名稱', max_length=30, unique=true)

password = models.charfield('密碼', max_length=32)

create_time = models.datetimefield('建立時間', auto_now_add=true)

updata_time = models.datetimefield('更新時間', auto_now=true)

def __str__(self):

return f'username:'

def

register_view(request):

if request.method == '

get'

:

return render(request, '

user/register.html')

if request.method == '

post':

username = request.post.get('

username')

password = request.post.get('

password')

password_verify = request.post.get('

password_verify')

#判斷兩次密碼是否一致

兩次輸入密碼不一致')

#當前使用者名稱是否可用

當前使用者名稱已經註冊')

#雜湊演算法轉換密碼

hash =hashlib.md5()

hash.update(password.encode())

hash_pwd =hash.hexdigest()

#插入資料

try:

user = user.objects.create(username=username, password=hash_pwd)

except

exception as e:

#有可能報錯,重複插入 唯一索引注意併發寫入問題,所以有唯一索引一定要try一下

當前使用者名稱已經註冊')

#儲存 session / 免登入一天

request.session['

username

'] =username

request.session[

'uid

'] =user.id

#修改session 有效期為1天

#檢查登入狀態,如果登入了,顯示已登入

#檢查cookie

c_username = request.cookies.get('

username')

c_uid = request.cookies.get('

uid'

)

if c_username and

c_uid:

#回寫session

#處理資料

username = request.post.get('

username')

password = request.post.get('

password')

#比對使用者名稱

使用者名稱或密碼不正確')

#判斷密碼

#雜湊演算法轉換密碼

hash =hashlib.md5()

hash.update(password.encode())

#密碼比對

使用者名稱或密碼錯誤')

#記錄會話狀態

request.session['

username

'] =username

request.session[

'uid

'] =user.id

#判斷使用者是否選中了記住當前使用者

#-> cookies 儲存username.id 3天

登入註冊 註冊輸入驗證

上次講了登入註冊問題的資料庫表怎麼建,以及具體有哪些內容。今天主要講一下註冊的表單驗證。我們經常上網各種登入註冊的時候應該已經注意過就是有時候密碼有要求,比如輸入6 20位密碼。還有確認密碼,必須和密碼輸入一致的時候才行。郵箱也是,郵箱的格式不能出錯。當以上格式有誤的時候就不能提交表單,還有如果還有...

登入與註冊

2.企業角度,收集使用者資訊,建立企業使用者體系,來進行使用者分析和使用者運營等等,目的是為企業帶來更多的價值。3.響應國家網路實名制的要求。一般會驗證手機號或身份證號 手機號註冊 手機號註冊必不可少的三要素,手機號,驗證碼,密碼。完成這三個要素,可以在乙個頁面完成,也可以在多個頁面完成,當註冊流程...

註冊登入系統

def print print print 歡迎來到學生管理系統 print print print 1.註冊 print 2.登入 print 3.退出 print print def input try zh input 請輸入賬號 3 6 mm input 請輸入密碼 6 12 if not ...