加密:md5sha1sha256sha512md5,加密速度快,安全系數(shù)低sha512加密速度慢,安全系數(shù)高<2>校驗(yàn):md5sha1sha256sha512值importhashlib(2)hashlib的特征以及使用要點(diǎn):<1>bytes類型數(shù)據(jù)--->通過hashlib算法--->固定長度的字符串<2>當(dāng)要加密的內(nèi)容相同時,得到的密文一定是一樣的" />

黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Python 入門之 內(nèi)置模塊 -- hashlib模塊

系統(tǒng) 1902 0

Python 入門之 內(nèi)置模塊 -- hashlib模塊

1、hashlib

摘要算法,加密算法

(1)主要用途:

<1> 加密 : md5 sha1 sha256 sha512

md5,加密速度快,安全系數(shù)低
sha512 加密速度慢,安全系數(shù)高

<2> 校驗(yàn) : md5 sha1 sha256 sha512值

          
            import hashlib
          
        

(2)hashlib的特征以及使用要點(diǎn):

<1> bytes類型數(shù)據(jù) ---> 通過hashlib算法 ---> 固定長度的字符串

<2> 當(dāng)要加密的內(nèi)容相同時,得到的密文一定是一樣的

<3> 當(dāng)明文不一樣時,密文不一定一樣

<4> 轉(zhuǎn)化過程不可逆

(3)md5加密:

<1> 普通加密:

          
            import hashlib
md5 = hashlib.md5()   # 初始化
md5.update("alex".encode("utf-8"))   # 將明文轉(zhuǎn)換成字節(jié)添加到新初始化的md5中
print(md5.hexdigest())   # 進(jìn)行加密
          
        
          
                    #現(xiàn)在可以進(jìn)行簡單的破解  -- 撞庫
          
        

<2> 加鹽加密 -- 提高安全性

加固定鹽
          
            import hashlib
md5 = hashlib.md5("rimo_dsb".encode("utf-8"))   # 初始化
md5.update("alex".encode("utf-8"))   # 將明文轉(zhuǎn)換成字節(jié)添加到新初始化的md5中
print(md5.hexdigest())   # 進(jìn)行加密
          
        
加動態(tài)鹽
          
            import hashlib
user = input("username:")
pwd = input("password:")

md5 = hashlib.md5(user.encode("utf-8"))   # 初始化
md5.update(pwd.encode("utf-8"))   # 將明文轉(zhuǎn)換成字節(jié)添加到新初始化的md5中
print(md5.hexdigest())   # 進(jìn)行加密
          
        

中文內(nèi)容編碼不同時密文是不一致的,英文的

          
            import hashlib
sha1 = hashlib.sha1()
sha1.update("日魔就是一個大SB".encode("utf-8"))
print(sha1.hexdigest())

sha1 = hashlib.sha1()
sha1.update("日魔就是一個大SB".encode("gbk"))
print(sha1.hexdigest())
          
        

(3)文件的一致性校驗(yàn):

? 如何驗(yàn)證我們下載的資源是否有病毒呢?這就需要文件的一致性校驗(yàn)了。在我們下載一個軟件時,往往都帶有一個MD5或者shax值,當(dāng)我們下載完成這個應(yīng)用程序時你要是對比大小根本看不出什么問題,你應(yīng)該對比他們的md5值,如果兩個md5值相同,就證明這個應(yīng)用程序是安全的,如果你下載的這個文件的MD5值與服務(wù)端給你提供的不同,那么就證明你這個應(yīng)用程序肯定是植入病毒了(文件損壞的幾率很低)

例如: 校驗(yàn)Pyhton解釋器的Md5值是否相同
          
            import hashlib
def file_check(file_path):
    with open(file_path,mode='rb') as f1:
        md5= hashlib.md5()
        while True:
            content = f1.read(1024)   # 2049 1025 1
            if content:
                md5.update(content)
            else:
                return md5.hexdigest()
print(file_check('python-3.6.6-amd64.exe'))
          
        

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論