12:字符串加密观堂、解密

1让网、字符串的編碼、解碼

編碼:將計(jì)算機(jī)中的字符串按照一定的順序表示成二進(jìn)制數(shù)據(jù)的過(guò)程

二進(jìn)制: 0/1 每一個(gè)二進(jìn)制數(shù)字师痕,表示一位溃睹,通常計(jì)算機(jī)中:0000 0001
字節(jié): 二進(jìn)制數(shù)據(jù)~8位一個(gè)字節(jié):0000 0001->1個(gè)字節(jié)
字符: 2個(gè)字節(jié)->1個(gè)字符;通常情況下我們使用的字符串~就是使用字符編碼的七兜!

各國(guó)字符編碼都不一樣:
1丸凭、計(jì)算機(jī)-> 表示[英文字母福扬、數(shù)字腕铸、部分特殊符號(hào)]-> ascii編碼[0~256]
2、萬(wàn)國(guó)碼铛碑,統(tǒng)一字符編碼[號(hào)稱可以統(tǒng)一全球范圍內(nèi)任何語(yǔ)言的表示方式]
任何語(yǔ)言中的任何數(shù)據(jù)狠裹,都可以使用一個(gè)字符來(lái)表示unicode編碼
3、中國(guó)有GB2312-> GBK -> GB18030
4汽烦、數(shù)據(jù)傳輸編碼:unicode transfer format 8 bit [UTF-8]
python中的編碼解碼:
要命的規(guī)則:字符串的編碼解碼涛菠,一直都是任何語(yǔ)言中一個(gè)難點(diǎn)和重點(diǎn)
任何字符串->都是由字節(jié)組成的!

python3中:字符:(str)撇吞;字節(jié)(bytes)
字符->字節(jié):encode 編碼:將一個(gè)字符串編碼成計(jì)算機(jī)可以操作的二進(jìn)制數(shù)據(jù)
字節(jié)->字符:decode 解碼:將一個(gè)二進(jìn)制數(shù)據(jù)按照指定的編碼~解碼成自然數(shù)據(jù)

s = “大天朝”   s:<class ‘str’>
x = s.encode(“utf-8”)   x:<class ‘bytes’>
x-> b’\xb9\x00\xa5..’

x2 = x.decode(“utf-8”)  x2:<class ‘str’>
x2 -> “大天朝”

2俗冻、加密解密操作:

什么是加密:將一個(gè)明文數(shù)據(jù),按照指定的算法牍颈,運(yùn)算得到一個(gè)其他的可以隱藏真實(shí)信息的密文數(shù)據(jù)迄薄,這個(gè)過(guò)程稱為加密;處理的算法稱為加密算法煮岁;用到的關(guān)鍵數(shù)據(jù)稱為密鑰
什么是解密:按照指定的算法和關(guān)鍵數(shù)據(jù)讥蔽,將一個(gè)密文數(shù)據(jù)進(jìn)行逆向運(yùn)算得到正確的明文數(shù)據(jù)的過(guò)程成為解密操作


(1)、單向加密算法:只能加密画机,不能解密的算法
如:用戶賬號(hào)密碼(單向加密)存儲(chǔ)冶伞,此時(shí)任何人都不能查看該用戶的明文密碼
流程->用戶輸入明文密碼->加密->和存儲(chǔ)的密文密碼進(jìn)行比較->相等-成功
單向散列加密算法-> MD5加密
單項(xiàng)哈希加密算法-> SHAX加密


(2)、雙向加密算法:可以加密步氏,加密的數(shù)據(jù)可以解密得到明文數(shù)據(jù)
使用在更多的場(chǎng)景响禽;數(shù)據(jù)進(jìn)行加密傳輸->目標(biāo)地址->解密得到明文數(shù)據(jù)進(jìn)行處理
對(duì)稱加密:加密和解密使用相同的秘鑰;
非對(duì)稱加密:加密和解密使用不同的秘鑰;如HTTPS傳輸數(shù)據(jù)


python中的hashlib模塊

hashlib主要提供字符加密功能芋类,將md5和sha模塊整合到了一起瀑焦,支持md5,sha1, sha224, sha256, sha384, sha512等算法

import hashlib

string = "beyongjie"

md5 = hashlib.md5()
md5.update(string.encode('utf-8'))     #注意將字符串轉(zhuǎn)碼
res = md5.hexdigest() #加密后的字符串
print("md5加密結(jié)果:",res)

#其他加密都差不多

注意:hashlib 加密啊的字符串類型為二進(jìn)制編碼,直接加密字符串會(huì)報(bào)如下錯(cuò)誤:

TypeError: Unicode-objects must be encoded before hashing

有兩種方式可以將字符串轉(zhuǎn)化為二進(jìn)制數(shù)據(jù)

  • 可以使用encode進(jìn)行轉(zhuǎn)換
string = "beyongjie"
shaa1 = hashlib.sha1()
shaa1.update(string.encode('utf-8'))
res = shaa1.hexdigest()
print("sha1采用encode轉(zhuǎn)換加密結(jié)果:",res)
  • 或者使用byte轉(zhuǎn)換為二進(jìn)制
shab1 = hashlib.sha1()
shab1.update(bytes(string,encoding='utf-8'))
res = shab1.hexdigest()
print("sha1采用byte轉(zhuǎn)換的結(jié)果:",res)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末梗肝,一起剝皮案震驚了整個(gè)濱河市榛瓮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌巫击,老刑警劉巖禀晓,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異坝锰,居然都是意外死亡粹懒,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門顷级,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)凫乖,“玉大人,你說(shuō)我怎么就攤上這事弓颈∶毖浚” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵翔冀,是天一觀的道長(zhǎng)导街。 經(jīng)常有香客問(wèn)我,道長(zhǎng)纤子,這世上最難降的妖魔是什么搬瑰? 我笑而不...
    開(kāi)封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮控硼,結(jié)果婚禮上泽论,老公的妹妹穿的比我還像新娘。我一直安慰自己卡乾,他們只是感情好翼悴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著说订,像睡著了一般砰琢。 火紅的嫁衣襯著肌膚如雪啃憎。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音侨歉,去河邊找鬼梦谜。 笑死顿涣,一個(gè)胖子當(dāng)著我的面吹牛泛领,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼膊毁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼胀莹!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起婚温,我...
    開(kāi)封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤描焰,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后栅螟,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體荆秦,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年力图,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了步绸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吃媒,死狀恐怖瓤介,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情赘那,我是刑警寧澤刑桑,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站漓概,受9級(jí)特大地震影響漾月,放射性物質(zhì)發(fā)生泄漏病梢。R本人自食惡果不足惜胃珍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蜓陌。 院中可真熱鬧觅彰,春花似錦、人聲如沸钮热。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)隧期。三九已至飒责,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間仆潮,已是汗流浹背宏蛉。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留性置,地道東北人拾并。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親嗅义。 傳聞我的和親對(duì)象是個(gè)殘疾皇子屏歹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • CTF中那些腦洞大開(kāi)的編碼和加密 0x00 前言 正文開(kāi)始之前先閑扯幾句吧,玩CTF的小伙伴也許會(huì)遇到類似這樣的問(wèn)...
    查無(wú)此人asdasd閱讀 6,008評(píng)論 0 19
  • 0x01 目錄 常見(jiàn)編碼: ASCII編碼 Base64/32/16編碼 shellcode編碼 Quoted-p...
    H0f_9閱讀 12,776評(píng)論 2 17
  • 一之碗、密碼學(xué)的起源密碼學(xué)的出現(xiàn)主要是因?yàn)閼?zhàn)爭(zhēng)蝙眶,有了戰(zhàn)爭(zhēng),就有了密碼學(xué)的應(yīng)用環(huán)境褪那。在戰(zhàn)爭(zhēng)中械馆,對(duì)陣雙方要保護(hù)自己的通信安...
    Qi0907閱讀 1,411評(píng)論 0 1
  • 1.數(shù)據(jù)安全 01 攻城利器:Charles(公司中一般都使用該工具來(lái)抓包,并做網(wǎng)絡(luò)測(cè)試) 注意:Charles在...
    Lucky丶晴閱讀 1,403評(píng)論 0 9
  • 社群直播平臺(tái)使用體驗(yàn) 社群運(yùn)營(yíng)微信群講座有兩個(gè)痛點(diǎn)值得關(guān)注 第一武通、聚合霹崎,公眾號(hào)的痛點(diǎn)就是孤島化。 用David的話...
    羞羞的麥穗閱讀 1,708評(píng)論 1 2