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

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

系統(tǒng) 1854 0

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

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

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

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

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

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

特點(diǎn)

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

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

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

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

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

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

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

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

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

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

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


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 镇雄县| 诏安县| 大冶市| 庆元县| 汉中市| 曲麻莱县| 深泽县| 淮安市| 宜春市| 化州市| 同仁县| 九龙坡区| 永新县| 凉城县| 浪卡子县| 虞城县| 五大连池市| 阳朔县| 石狮市| 申扎县| 平遥县| 胶州市| 肥城市| 长乐市| 广南县| 平谷区| 青浦区| 朝阳县| 乐平市| 华池县| 崇礼县| 芦溪县| 卓资县| 邮箱| 阜平县| 南京市| 正安县| 安乡县| 德安县| 类乌齐县| 无锡市|