使用.encode()方法轉成二進位制型別
import使用.hexdigest()方法輸出加密後內容hashlib
password='
123456
'print(password.encode())#加密時只能傳二進位制型別,字串不能直接加密,要先使用encode()轉成二進位制型別的才可以加密
#結果為:b'123456'
import使用dir()內建函式顯示該變數的所有方法hashlib
password='
123456
'm=hashlib.md5(password.encode()) #
先轉成二進位制,再加密
(m.hexdigest()) #獲取加密後的結果
#結果:e10adc3949ba59abbe56e057f20f883e
由於該模組pycharm無法提供提示方法,即輸入m「.」不出來方法,所以可以使用內建函式dir(),將所有方法列印出來。
#1、檢驗加密結果print(dir(m)) #由於這個加密模組pycharm提供不了提示方法,所以如果想知道都有什麼方法,可以使用內建函式dir(),使用這條語句就能列印出所有方法了
print(m.hexdigest())
print(len(m.hexdigest()))2、md5加密之後是不可逆的
如果輸入的加密後密碼碰巧資料庫裡有,就能把對應的加密前密碼返回給你,並不是真正的解密;如果是密碼複雜些,他們庫里沒有,就會解密不出來了。
3、其他的加密方式原理:
如果要對password=123456加密,這個明文密碼太簡單,容易撞庫解密,所以在123456之後隨機加乙個字串,比如abc,這樣實際是對123456abc進行加密,如果不知道abc這個字串,反解的可能性降低,安全性更高。這樣的乙個字串就叫做鹽。
salt = '545chjdsafl@*&
'password = input('
password:')
password += salt #
加鹽,把salt和password組合到一起
m =hashlib.md5(password.encode())
result =m.hexdigest()
print(result)
#實現加密:傳入乙個值,如果有鹽值,則加鹽加密;否則直接加密
任何付出都是值得的,會越來越好
Python 加密模組
這裡介紹hashlib模組。2 加密 hashlib模組有很多種加密方法,如hashlib.sha224 hashlib.blake2b 等,這裡以md5加密為例。加密時,不能直接對字串進行加密,需要先將字串轉化為bytes型別,用str.encode 下面是乙個完整的加密過程。將上述功能寫成下列函...
python加密模組 hashlib模組
用於加密相關的操作,3.x裡代替了md5模組和sha模組,主要提供sha1,sha224,sha256,sha384,sha512,md5演算法 sha比md5 更複雜 md5 不能反解 具體使用方法 匯入模組 import hashlib 生成乙個加密的物件並複製給變數 m hashlib.md5...
python的加密模組
使用 pycrypto 模組 使用aes的乙個範例 usr bin env python coding utf 8 from crypto.cipher import aes import struct import hashlib import random def generagekey imp...