真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python中實(shí)現(xiàn)加密的方法-創(chuàng)新互聯(lián)

創(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è)資訊頻道!


分享名稱:python中實(shí)現(xiàn)加密的方法-創(chuàng)新互聯(lián)
鏈接URL:http://weahome.cn/article/dopdos.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部