hashlib模塊-加密的模塊,加鹽

一、MD5加密

 md5加密是不可逆的python

    print(dir(m)) #把變量的方法打印出來安全

hashlib.md5:加密
xx.hexdigest():返回密文
xx.encode:將字符串轉成二進制的,轉成二進制才能加密
1 import hashlib
2 # import md5 #python2裏面的
3 password = '123456kjfskj'
4 # print(password.encode()) #轉成二進制才能夠加密
5 m = hashlib.md5(password.encode()) #加密。md5加密是不可逆的
6 # print(m)
7 print(m.hexdigest()) #加密以後獲得的是32位的字符串,打印密文
8 # print(dir(m))

二、加鹽

就是在hashlib模塊中的md5加密方法時,傳入一個你本身想給的鹽,或者乾脆隨機生成(比較安全,將鹽封裝在類中)函數

 1 import hashlib
 2 def my_md5(s:str,salt): #傳入密碼和鹽
 3     #加密的函數
 4     #若是傳入鹽的參數,則加鹽
 5     s = str(s)    #類型轉換,轉成字符串
 6     if salt:
 7         s = s + salt
 8     m = hashlib.md5(s.encode()) #md5加密
 9     return m.hexdigest()   #返回密文
10 res = my_md5('123456','akdjkf')
11 print(res)

 

三、其餘加密方式

1 password='adsf%&&^*'
2 m = hashlib.sha224(password.encode()) #長度長了,也是不能夠解密的
3 print(m.hexdigest())
4 
5 m = hashlib.sha256(password.encode())
6 print(m.hexdigest())

 

備註:撞庫:加密的密文存入數據,而後找相應的匹配,複雜的密碼解不出來
相關文章
相關標籤/搜索