欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python的一些加密方法及python 加密模塊

系統 1801 0

1base64

Python內置的base64模塊可以實現base64、base32、base16、base85、urlsafe_base64的編碼解碼,python 3.x通常輸入輸出都是二進制形式,2.x可以是字符串形式。

base64模塊的base64編碼、解碼調用了binascii模塊,binascii模塊中的b2a_base64()函數用于base64編碼,binascii模塊中的a2b_base64()函數用于base64解碼。

            
import base64
s = 'hello, world'
base64.b64encode(bytes(s, 'ascii'))
b'aGVsbG8sIHdvcmxk'
base64.b64decode(base64.b64encode(bytes(s, 'ascii')))
b'hello, world'
          

2.md5

Python2.x中有md5模塊,此模塊調用了hashlib模塊,python3.x已中將md5取掉,直接通過調用hashlib模塊來進行md5。Python2.x可以直接使用unicode字符,但3.x中必須使用二進制字節串。

            
import hashlib
m = hashlib.md5()
m.update(b'hello, world!')
m.hexdigest()
'3adbbad1791fbae3ec908894c4963870'
          

3.sha1

類似于MD5

            
import hashlib
m = hashlib.sha1()
m.update(b'hello, world!')
m.hexdigest()
'1f09d30c707d53f3d16c530dd73d70a6ce7596a9'
          

4.crc32

計算指定內容的crc32校驗值,可以用zlib以及binascii模塊的crc32函數.

            
import zlib
import binascii
s = b'hello, world!'
zlib.crc32(s)
1486392595
binascii.crc32(s)
1486392595
          

ps:下面看下Python之加密模塊

hashlib模塊

?加密方式以md5方式加密舉例
?是標準模塊,直接導入即可
?還有其他的加密方式,比如:.sha1()、.sha224()、.sha256()等,加密后的字符串長度更長,安全性更高

一、加密步驟

1、字符串先轉成二進制類型

使用.encode()方法轉成二進制類型

            
import hashlib
password='123456'
print(password.encode())#字符串不能直接加密,要先轉成二進制類型的才可以加密
#結果為:b'123456'
          

2、使用加密方法

使用.hexdigest()方法輸出加密后內容

            
import hashlib
password='123456'
m=hashlib.md5(password.encode()) #先轉成二進制,再加密
#print(dir(m)) #由于這個加密模塊pycharm提供不了提示方法,所以如果想知道都有什么方法,可以使用內置函數dir(),使用這條語句就能打印出所有方法了
print(m.hexdigest())
          

3、打印加密后的內容

使用dir()內置函數顯示該變量的所有方法

由于該模塊pycharm無法提供提示方法,即輸入m“.”不出來方法,所以可以使用內置函數dir(),將所有方法打印出來。

            
#print(dir(m)) #由于這個加密模塊pycharm提供不了提示方法,所以如果想知道都有什么方法,可以使用內置函數dir(),使用這條語句就能打印出所有方法了
print(m.hexdigest())
          

二、加密相關

1、檢驗加密結果

?由于md5方式加密完的字符串無論原字符串有多長都是32位,因此可以使用len()方法檢驗是否加密成功:

print(len(m.hexdigest())

2、md5加密之后是不可逆的
?網絡上可以解密的原理是撞庫,即:將常用的密碼加密完存在數據庫里,然后直接搜庫。

如果輸入的加密后密碼碰巧數據庫里有,就能把對應的加密前密碼返回給你,并不是真正的解密。

3、其他的加密方式

本文的加密方式以md5方式加密舉例,還有其他的加密方式,比如:.sha1()、.sha224()、.sha256()等,加密后的字符串長度更長,安全性更高。

            
m=hashlib.sha1(password.encode())#不同的加密方式
m=hashlib.sha224(password.encode()) #不同的加密方式
m=hashlib.sha256(password.encode()) #不同的加密方式
          

三、加鹽

?原理:

如果要對password=123456加密,這個明文密碼太簡單,容易撞庫解密,所以在123456之后隨機加一個字符串,比如abc,這樣實際是對123456abc進行加密,如果不知道abc這個字符串,反解的可能性降低,安全性更高。這樣的一個字符串就叫做鹽。

四、實際應用

            
#實現加密:傳入一個值,如果有鹽值,則加鹽加密;否則直接加密
def my_md5(s:str,salt=None):
  s=str(s)
  if salt:
    s=s+salt
  m=hashlib.md5(s.encode())
  return m.hexdigest()
          

總結

以上所述是小編給大家介紹的python的一些加密方法及python 加密模塊 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美视频免费 | 亚洲三级在线 | 99热这里只有免费国产精品 | 日韩成人免费观看 | a毛片在线看免费观看 | 天堂中文在线最新版地址 | 欧美激情啪啪 | 国产精品久久久久久亚洲色 | 色综合亚洲色综合久久网张柏芝 | 亚洲免费一区 | 日本黄色片免费看 | 午夜电影免费看 | jiuse在线| 亚洲国产精品久久久久秋霞蜜臀 | 特级黄一级播放 | 午夜免费直播 | 日韩精品区 | 久草免费新视频 | 中文字幕精品一区二区三区精品 | 欧美视频网站 | 玖玖玖影院 | 成人午夜免费在线视频 | asian极品呦女爱爱 | 四色成人av永久网址 | 一级在线播放 | 日韩精品视频一区二区三区 | 毛片成人永久免费视频 | 成人免费一区二区三区视频网站 | 欧美一区二区精品 | 香蕉视频观看 | 国产精品亚欧美一区二区三区 | 97青青青国产在线播放 | 丁香六月综合网 | 中文字幕国产精品 | 不卡一区 | 久久精品国产999大香线焦 | 亚洲国产日韩欧美在线 | 毛片网页| 亚洲乱轮视频 | 一区免费看 | 欧美一级做a爰片免费视频 亚洲男人的天堂久久精品 色吟av |