日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

md5加密解密代码_Python内置方法实现基于秘钥的信息加解密

發(fā)布時(shí)間:2025/3/12 python 10 豆豆
生活随笔 收集整理的這篇文章主要介紹了 md5加密解密代码_Python内置方法实现基于秘钥的信息加解密 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

點(diǎn)擊關(guān)注州的先生 精彩不容錯(cuò)過(guò)

在實(shí)際編程開發(fā)中,我們會(huì)使用到各類的加密算法來(lái)對(duì)數(shù)據(jù)和信息進(jìn)行加密。比如密碼中比較常見的MD5加密,以及AES加密等等。對(duì)于密碼認(rèn)證來(lái)說(shuō),MD5加密是比較適合的,因?yàn)槠洳恍枰佑|到明文的數(shù)據(jù),只需要比對(duì)MD5加密后的哈希值就能判斷數(shù)據(jù)是否一致;而對(duì)于一些在加密后進(jìn)行解密的數(shù)據(jù)而言,AES則更加的常用。在Python中實(shí)現(xiàn)AES算法需要借助的第三方庫(kù)Crypto,其在各個(gè)操作系統(tǒng)上的安裝方法有些許復(fù)雜,所以對(duì)于簡(jiǎn)單的使用有點(diǎn)殺雞用牛刀的意思。在Mrdoc的開發(fā)過(guò)程中,我們就遇到了這樣的問(wèn)題。一方面不想為了一個(gè)小小的功能增加一個(gè)安裝容易出錯(cuò)的第三方庫(kù),一方面又有對(duì)用戶輸入的第三方密碼進(jìn)行加密和解密的需求。最終,我們采用的Python內(nèi)置的方法實(shí)現(xiàn)了。

設(shè)置一個(gè)秘鑰

在這個(gè)秘鑰加解密方案中,我們需要設(shè)置一個(gè)秘鑰,用來(lái)對(duì)數(shù)據(jù)進(jìn)行加密和解密。在Mrdoc中,我們借助Django項(xiàng)目中的SECRET_KEY變量來(lái)作為秘鑰。原則就是,盡量復(fù)雜且長(zhǎng):key = 'djq%5cu#-jeq15abg$z9_i#_w=$o88m!*alpbedlbat8cr74sd'接下來(lái)對(duì)數(shù)據(jù)的加密和解密,我們都需要使用到這個(gè)秘鑰。對(duì)數(shù)據(jù)進(jìn)行加密我們的加密邏輯其實(shí)很簡(jiǎn)單,核心是一個(gè)Python內(nèi)置方法ord(),這個(gè)方法用于返回一個(gè)單字節(jié)的ASCII碼字符的Unicode碼位。加密邏輯步驟如下:
  • 1、創(chuàng)建一個(gè)空字符串變量,作為加密字符的初始值;

  • 2、使用zip()方法同時(shí)遍歷數(shù)據(jù)字符串和秘鑰;

  • 3、使用ord()方法分別獲取遍歷的數(shù)據(jù)字符和秘鑰字符的Unicode碼位,并將其相加,得到此數(shù)據(jù)字符的加密字符;

  • 4、將得到的加密字符追加到空字符串變量中;

  • 5、返回最終的空字符串變量;

其代碼如下所示:# 加密
def enctry(s):
k = 'djq%5cu#-jeq15abg$z9_i#_w=$o88m!*alpbedlbat8cr74sd'
encry_str = ""
for i,j in zip(s,k):
# i為字符,j為秘鑰字符
temp = str(ord(i)+ord(j))+'_' # 加密字符 = 字符的Unicode碼 + 秘鑰的Unicode碼
encry_str = encry_str + temp
return encry_str如果我們將字符串”zmister”使用這個(gè)加密方法進(jìn)行加密,最終會(huì)得到如下所示的加密字符串:'222_215_218_152_169_200_231_'

對(duì)數(shù)據(jù)進(jìn)行解密

與加密的邏輯相反,我們需要把Unicode碼位還原為單字節(jié)的ASCII碼字符,這需要利用到Python的內(nèi)置方法chr()。所以數(shù)據(jù)解密的步驟如下所示:
  • 1、定義一個(gè)空的字符串變量,作為解密數(shù)據(jù)的初始值;

  • 2、使用zip()方法同時(shí)遍歷加密后的數(shù)據(jù)和秘鑰;

  • 3、將加密數(shù)據(jù)字符減去秘鑰字符的Unicode碼位,得到原始數(shù)據(jù)的Unicode碼位,然后使用chr()方法將其還原為ASCII單字節(jié)字符;

  • 4、將得到的解密字符追加到空字符串變量中;

  • 5、返回解密字符

其代碼如下所示:# 解密
def dectry(p):
k = 'djq%5cu#-jeq15abg$z9_i#_w=$o88m!*alpbedlbat8cr74sd'
dec_str = ""
for i,j in zip(p.split("_")[:-1],k):
# i 為加密字符,j為秘鑰字符
temp = chr(int(i) - ord(j)) # 解密字符 = (加密Unicode碼字符 - 秘鑰字符的Unicode碼)的單字節(jié)字符
dec_str = dec_str+temp
return dec_str這樣,我們就能把加密的數(shù)據(jù)解密出來(lái)。我們用一個(gè)完整的代碼來(lái)測(cè)試一下:# coding:utf-8
# @文件: utils.py
# @創(chuàng)建者:州的先生
# #日期:2019/12/8
# 博客地址:zmister.com

# 加密
def enctry(s):
k = 'djq%5cu#-jeq15abg$z9_i#_w=$o88m!*alpbedlbat8cr74sd'
encry_str = ""
for i,j in zip(s,k):
# i為字符,j為秘鑰字符
temp = str(ord(i)+ord(j))+'_' # 加密字符 = 字符的Unicode碼 + 秘鑰的Unicode碼
encry_str = encry_str + temp
return encry_str

# 解密
def dectry(p):
k = 'djq%5cu#-jeq15abg$z9_i#_w=$o88m!*alpbedlbat8cr74sd'
dec_str = ""
for i,j in zip(p.split("_")[:-1],k):
# i 為加密字符,j為秘鑰字符
temp = chr(int(i) - ord(j)) # 解密字符 = (加密Unicode碼字符 - 秘鑰字符的Unicode碼)的單字節(jié)字符
dec_str = dec_str+temp
return dec_str

data = "zmister.com"
print("原始數(shù)據(jù)為:",data)
enc_str = enctry(data)
print("加密數(shù)據(jù)為:",enc_str)
dec_str = dectry(enc_str)
print("解密數(shù)據(jù)為:",dec_str)運(yùn)行上述代碼,我們會(huì)得到如下圖所示的結(jié)果:

最后

可以發(fā)現(xiàn),這個(gè)方法對(duì)于一般性的數(shù)據(jù)加解密而言,還是比較簡(jiǎn)單和便捷的,唯一需要考量的是秘鑰的復(fù)雜性和安全性,如果有更好地實(shí)現(xiàn)方法,歡迎留言討論:)

▼點(diǎn)擊“

萬(wàn)水千山總是情,點(diǎn)個(gè)“在看”行不行▼?

總結(jié)

以上是生活随笔為你收集整理的md5加密解密代码_Python内置方法实现基于秘钥的信息加解密的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 男人添女人荫蒂国产 | 综合色婷婷 | 亚洲综合p | 欧美综合区 | 国产精品久久久久久久久久久久 | 全球av在线 | 激情在线观看视频 | 手机免费av| 亚洲熟妇一区 | 蜜乳av一区二区 | 佐山爱在线视频 | 欧美成人aaaaⅴ片在线看 | 在线色网站 | 成年网站 | 国产精品午夜影院 | 亚洲欧美天堂网 | 国产精品日日摸天天碰 | av图片在线 | 亚洲高h | 欧美日韩成人在线播放 | 91精品视频免费在线观看 | 黄色在线观看免费 | 无码免费一区二区三区 | 国产3页 | 国产交换配乱淫视频免费 | 黄色网炮 | 免费看毛片网站 | 免费色网 | 伊人免费视频二 | 成人av综合网 | 欧美日韩亚洲精品内裤 | 中文字幕久久精品 | 91精品在线观看视频 | 欧美三级在线观看视频 | 精品无码国产一区二区三区av | 另类小说亚洲色图 | 性猛交ⅹxxx富婆video | 国产av无码专区亚洲av | 亚洲激情图| 午夜精品美女久久久久av福利 | wwwww在线观看 | 538国产精品一区二区免费视频 | 久久精品123| 美女露出让男生揉的视频 | 国产精品免费入口 | 免费精品在线观看 | 亚洲国产精品自拍视频 | 久久人妻少妇嫩草av无码专区 | 樱花电影最新免费观看国语版 | 日本三级少妇 | 久草视| 欧美一区二区在线看 | 久久九九综合 | 日美女网站| 国产网站在线免费观看 | 福利在线免费视频 | 亚洲女人天堂色在线7777 | 性感美女一级片 | 日韩视频在线免费观看 | 国产日产精品一区二区 | 又黄又爽的视频 | 99精品欧美一区二区三区 | 久久久久久久久免费视频 | 男女一区 | 操操色| 人妖粗暴刺激videos呻吟 | 亚洲精品在线影院 | 亚洲免费av在线 | 成人毛片100部免费看 | 久久精品性爱视频 | 欧美亚洲国产另类 | 在线免费成人网 | 亚洲巨乳av | 午夜香蕉 | 奇米777色| 91一起草 | 成人不卡视频 | 亚洲网在线 | 亚洲国产成人精品无码区99 | 午夜tv影院 | www.香蕉视频在线观看 | 欧美大片aaa | av成人在线电影 | 青草91| 天天干 夜夜操 | 日本免费一区二区三区 | 操她视频网站 | 黄色大全免费观看 | 成人在线一区二区 | 亚洲激情欧美 | 精品国产欧美一区二区三区成人 | 国产欧美日韩在线观看 | 一区二区三区四区免费 | 亚洲熟伦熟女新五十路熟妇 | 亚洲精选91 | 国产精品成av人在线视午夜片 | 羞羞涩 | 中文在线亚洲 | 91浏览器在线观看 |