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

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python 入門之 內置模塊 -- hashlib模塊

系統 1708 0

Python 入門之 內置模塊 -- hashlib模塊

1、hashlib

摘要算法,加密算法

(1)主要用途:

<1> 加密 : md5 sha1 sha256 sha512

md5,加密速度快,安全系數低
sha512 加密速度慢,安全系數高

<2> 校驗 : md5 sha1 sha256 sha512值

          
            import hashlib
          
        

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

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

<2> 當要加密的內容相同時,得到的密文一定是一樣的

<3> 當明文不一樣時,密文不一定一樣

<4> 轉化過程不可逆

(3)md5加密:

<1> 普通加密:

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

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

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

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

中文內容編碼不同時密文是不一致的,英文的

          
            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)文件的一致性校驗:

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

例如: 校驗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'))
          
        

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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 廉江市| 惠东县| 临桂县| 建水县| 门源| 灵璧县| 辰溪县| 崇义县| 枝江市| 睢宁县| 罗甸县| 衡阳县| 耒阳市| 洛南县| 比如县| 廉江市| 灌南县| 托克逊县| 剑川县| 惠安县| 隆林| 三门县| 娱乐| 泰顺县| 绥德县| 潞城市| 济源市| 贞丰县| 饶阳县| 安达市| 舒城县| 金坛市| 班玛县| 聂荣县| 长宁县| 贵定县| 全南县| 林口县| 沈阳市| 海原县| 太康县|