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

常見加密方式和Python實現(xiàn)

系統(tǒng) 1879 0

前言
我們所說的加密方式,都是對二進制編碼的格式進行加密的,對應(yīng)到Python中,則是我們的Bytes。

將字符串和Bytes互相轉(zhuǎn)換可以使用encode()和decode()方法。
常見加密方式和Python實現(xiàn)_第1張圖片
URL編碼
正常的URL中是只能包含ASCII字符的,也就是字符、數(shù)字和一些符號。而URL編碼就是一種瀏覽器用來避免url中出現(xiàn)特殊字符(如漢字)的編碼方式。
常見加密方式和Python實現(xiàn)_第2張圖片
Base64編碼
Base64是一種用64個字符來表示任意二進制數(shù)據(jù)的方法。

Base64編碼可以稱為密碼學(xué)的基石。可以將任意的二進制數(shù)據(jù)進行Base64編碼。所有的數(shù)據(jù)都能被編碼為并只用65個字符就能表示的文本文件。

Python內(nèi)置的base64模塊可以直接進行base64的編解碼

常見加密方式和Python實現(xiàn)_第3張圖片
MD5(信息-摘要算法)
message-digest algorithm 5(信息-摘要算法)。經(jīng)常說的“MD5加密”,就是信息摘要算法。

md5,其實就是一種算法。可以將一個字符串,或文件,或壓縮包,執(zhí)行md5后,就可以生成一個固定長度為128bit的串。這個串,基本上是唯一的。

特點

  • 壓縮性:任意長度的數(shù)據(jù),算出的MD5值長度都是固定的。

  • 容易計算:從原數(shù)據(jù)計算出MD5值很容易。

  • 抗修改性:對原數(shù)據(jù)進行任何改動,哪怕只修改1個字節(jié),所得到的MD5值都有很大區(qū)別。

  • 強抗碰撞:已知原數(shù)據(jù)和其MD5值,想找到一個具有相同MD5值的數(shù)據(jù)(即偽造數(shù)據(jù))是非常困難的。 不可逆性

由于MD5模塊在python3中被移除,在python3中使用hashlib模塊進行md5操作
常見加密方式和Python實現(xiàn)_第4張圖片
DES
DES算法為密碼體制中的對稱密碼體制,又被稱為美國數(shù)據(jù)加密標(biāo)準(zhǔn)。

DES是一個分組加密算法,典型的DES以64位為分組對數(shù)據(jù)加密,加密和解密用的是同一個算法。

DES算法的入口參數(shù)有三個:Key、Data、Mode。其中Key為7個字節(jié)共56位,是DES算法的工作密鑰;Data為8個字節(jié)64位,是要被加密或被解密的數(shù)據(jù);Mode為DES的工作方式,有兩種:加密或解密。

密鑰長64位,密鑰事實上是56位參與DES運算(第8、16、24、32、40、48、56、64位是校驗位,使得每個密鑰都有奇數(shù)個1),分組后的明文組和56位的密鑰按位替代或交換的方法形成密文組。

常見加密方式和Python實現(xiàn)_第5張圖片
AES
高級加密標(biāo)準(zhǔn)(英語:Advanced Encryption Standard,縮寫:AES),在密碼學(xué)中又稱Rijndael加密法,是美國聯(lián)邦政府采用的一種區(qū)塊加密標(biāo)準(zhǔn)。這個標(biāo)準(zhǔn)用來替代原先的DES,已經(jīng)被多方分析且廣為全世界所使用。
常見加密方式和Python實現(xiàn)_第6張圖片
AES為分組密碼,分組密碼也就是把明文分成一組一組的,每組長度相等,每次加密一組數(shù)據(jù),直到加密完整個明文。在AES標(biāo)準(zhǔn)規(guī)范中,分組長度只能是128位,也就是說,每個分組為16個字節(jié)(每個字節(jié)8位)。密鑰的長度可以使用128位、192位或256位。密鑰的長度不同,推薦加密輪數(shù)也不同。
常見加密方式和Python實現(xiàn)_第7張圖片
RSA
RSA加密算法是一種非對稱加密算法。在公開密鑰加密和電子商業(yè)中RSA被廣泛使用。

因為RSA加密算法的特性,RSA的公鑰私鑰都是10進制的,但公鑰的值常常保存為16進制的格式,所以需要將其用int()方法轉(zhuǎn)換為10進制格式。

可以添加Python交流學(xué)習(xí)QQ群:1015615067,可免費領(lǐng)取Python資料!
常見加密方式和Python實現(xiàn)_第8張圖片
網(wǎng)站:http://tool.chacuo.net/cryptdes


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 郎溪县| 三原县| 河北省| 安远县| 玉门市| 土默特右旗| 苍溪县| 安宁市| 洱源县| 鱼台县| 灵川县| 霍山县| 鹰潭市| 清镇市| 夏邑县| 襄汾县| 米泉市| 赫章县| 壶关县| 亚东县| 乌拉特前旗| 康平县| 南岸区| 德庆县| 斗六市| 泰宁县| 兴文县| 揭阳市| 唐山市| 元朗区| 合水县| 治多县| 南华县| 隆德县| 彰化县| 呈贡县| 九江县| 墨江| 吴桥县| 利津县| 舒城县|