創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
仁和ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!小編給大家分享一下python中實(shí)現(xiàn)加密的方法,相信大部分人都還不怎么了解,因此分享這邊文章給大家學(xué)習(xí),希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學(xué)習(xí)方法吧!
1、Python中使用Base64加密:
Python內(nèi)置的base64模塊可以直接進(jìn)行base64的編解碼
注意:用于base64編碼的,要么是ASCII包含的字符,要么是二進(jìn)制數(shù)據(jù)
# -*- coding:UTF-8 -*- __author__ = 'rxz' import base64 a = base64.b64encode(b"hello world") print(a) # b'aGVsbG8gd29ybGQ=' b = base64.b64decode(a) print(b) # b"hello world"
2、Python中使用MD5加密
由于MD5模塊在python3中被移除,在python3中使用hashlib模塊進(jìn)行md5操作
# -*- coding:UTF-8 -*- __author__ = 'rxz' import hashlib # 待加密信息 str = '中國(guó)你好' # 創(chuàng)建md5對(duì)象, #md5對(duì)象,md5不能反解,但是加密是固定的,就是關(guān)系是一一對(duì)應(yīng),所以有缺陷,可以被對(duì)撞出來(lái) hl = hashlib.md5() #要對(duì)哪個(gè)字符串進(jìn)行加密,就放這里 # 此處必須聲明encode # 若寫法為hl.update(str) 報(bào)錯(cuò)為: Unicode-objects must be encoded before hashing hl.update(str.encode(encoding='utf-8')) print('MD5加密前為 :' + str) #hl.hexdigest()) #拿到加密字符串 print('MD5加密后為 :' + hl.hexdigest()) """ MD5加密前為 :中國(guó)你好 MD5加密后為 :560a6b11a85d436acfa4bd7f34462f40 """ hash4 = hashlib.md5(bytes('abd',encoding='utf-8')) ''' 如果沒(méi)有參數(shù),所以md5遵守一個(gè)規(guī)則,生成同一個(gè)對(duì)應(yīng)關(guān)系,如果加了參數(shù), 就是在原先加密的基礎(chǔ)上再加密一層,這樣的話參數(shù)只有自己知道,防止被撞庫(kù), 因?yàn)閯e人永遠(yuǎn)拿不到這個(gè)參數(shù) ''' hash4 .update(bytes("admin",encoding = "utf-8")) print(hash4.hexdigest()) #9aea3c0a6c51555c1a4d0a5e9b689ded
3、使用hmac加密
python中還有一個(gè)hmac模塊,它對(duì)我們創(chuàng)建key和內(nèi)容再進(jìn)行處理然后再加密
該模塊加密是先把數(shù)據(jù)存儲(chǔ)到字典中,然后再進(jìn)行加密,方法與上述方法類似。
import hmac hm = hmac.new(b'abc') hm = hmac.new('中國(guó)你好'.encode(encoding='utf-8'),b'bads') print(hm.digest()) print(hm.hexdigest()) """ b'\xc8;\x0c\x0b\xd42\xc37\xd0X\xbc\xfbf=RP' c83b0c0bd432c337d058bcfb663d5250 """
注:加密數(shù)據(jù)時(shí)一定要指定數(shù)據(jù)編碼格式。
4、使用sha1 加密
SHA1的全稱是Secure Hash Algorithm(安全哈希算法) 。SHA1基于MD5,加密后的數(shù)據(jù)長(zhǎng)度更長(zhǎng),
它對(duì)長(zhǎng)度小于264的輸入,產(chǎn)生長(zhǎng)度為160bit的散列值。比MD5多32位。
因此,比MD5更加安全,但SHA1的運(yùn)算速度就比MD5要慢了。
# -*- coding:UTF-8 -*- __author__ = 'rxz' import hashlib str = "中國(guó)你好" a = hashlib.sha1(str.encode("utf-8")).hexdigest() print("sha1加密前為 :",str) print("sha1加密前后 :",a) """ sha1加密前為 : 中國(guó)你好 sha1加密前后 : 3e6c570876775d0031dbf66247ed1054d4ef695e """
以上是python中實(shí)現(xiàn)加密的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!