国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

永強(qiáng)教你加解密:對(duì)稱篇(一)

opengps / 1030人閱讀

摘要:大家好,我是永強(qiáng),就是老李之前經(jīng)常給你們說(shuō)的區(qū)塊鏈大神大學(xué)肄業(yè)卻依然大公司主程一波兒流只生活在老李口中尚未真實(shí)露面的騙錢高手老王的左膀右臂趙永強(qiáng)。

大家好,我是永強(qiáng),就是老李之前經(jīng)常給你們說(shuō)的區(qū)塊鏈大神、大學(xué)肄業(yè)卻依然大公司iOS主程一波兒流、只生活在老李口中尚未真實(shí)露面的騙錢高手、老王的左膀右臂 ——— 趙永強(qiáng)。我和尼古拉斯趙四之間并沒(méi)有什么強(qiáng)關(guān)聯(lián),我只是單方面認(rèn)識(shí)他而已。

之前老李企圖讓我發(fā)表一些關(guān)于如何進(jìn)行高端騙工資騙錢的教程,被我義正言辭地拒絕了:

                   畢竟是畢生絕學(xué),不能就這么輕而易舉地教給你們

不過(guò)后面有時(shí)間我可以給大家出一些關(guān)于“如何在公司混日子還能升職加薪”的入門級(jí)教程,傳男不傳女,獨(dú)家絕技!敬請(qǐng)期待!

言歸正傳,那個(gè)一直以來(lái)我對(duì)加解密技術(shù)都是耿耿于懷的,因?yàn)楹芏嗄昵坝幸淮蚊嬖囍斜贿@東西給坑掉了,雖然我后來(lái)就自己對(duì)加解密中一些自己不懂的地方請(qǐng)教了對(duì)方而且他也沒(méi)有給我講清楚…

事情都過(guò)去好幾年了,本人自我感覺(jué)已經(jīng)一定程度掌握了一些關(guān)于加密的高端技術(shù),因?yàn)闆Q定出來(lái)裝一波兒逼,時(shí)間比較緊張,我打算趕在2020年農(nóng)歷新年之前把逼裝完,你們要注意配合。

我知道老李之前在社區(qū)發(fā)表了一些關(guān)于加密啊、解密啊之類的東西,甚至還扯上了什么DH什么ECDH,又是質(zhì)數(shù)又是橢圓曲線,不過(guò)這并不與本系列產(chǎn)生沖突,這并不重要,不要在意這些細(xì)節(jié),他那個(gè)too young too simple,sometimes naive…

這將是一個(gè)大概由四篇左右的文章組成的系列文章,所以在正式開(kāi)始之前,我不得不強(qiáng)調(diào)一點(diǎn) ——— 如下這幾門學(xué)科的基礎(chǔ)理論知識(shí):

《離散數(shù)學(xué)》

《微分與積分》

《空間幾何》

《概率論》

你并不需要具備。。。

不過(guò)你總得知道除了html和css之外的任意一門編程語(yǔ)言。盡管本人精通上到CLanguage下到Perl之類的各種語(yǔ)言,但是本文將采用世界上最好的語(yǔ)言進(jìn)行一些程序演示,后面老李可能會(huì)使用CLanguage和Golang進(jìn)行其他語(yǔ)言的演示補(bǔ)充。

簡(jiǎn)單說(shuō)來(lái)呢,加解密技術(shù)就是分為兩大類:

對(duì)稱加解密

非對(duì)稱加解密

其中,常見(jiàn)的對(duì)稱加解密算法有DES、3DES、AES;而非對(duì)稱加解密技術(shù)比較典型的則是RSA,就是什么公鑰私鑰證書什么亂七八糟的。

我們先從對(duì)稱加解密開(kāi)始,粗暴地說(shuō)呢,對(duì)稱加解密就是“加密和解密的時(shí)候用同一個(gè)密碼”,聽(tīng)起來(lái)就非常對(duì)稱,有沒(méi)有?

用圖表達(dá)一下就是:

最一開(kāi)始的時(shí)候,我朝人民一般都是傾向于使用“天王蓋地虎”,“寶塔鎮(zhèn)河妖”這種加解密技術(shù);然而,美帝用了一種叫做DES的技術(shù)進(jìn)行對(duì)稱加解密,這玩意一度成為業(yè)界通用的對(duì)稱加解密技術(shù),銀行、五角大樓都愛(ài)用這玩意,可惜好景不長(zhǎng)、世風(fēng)日下、世態(tài)炎涼,這玩意的破解成本越來(lái)越低越來(lái)越低~~ 于是,為了續(xù)命,就又有一些白胡子老頭給DES打補(bǔ)丁,縫縫補(bǔ)補(bǔ)搞出來(lái)一個(gè)玩意叫做3DES,繼續(xù)用,又不是不能用…這個(gè)顧名思義就行了,別打我,真的:3DES就是用DES處理(注意是處理,我沒(méi)說(shuō)是加密)了三次的意思。就目前看來(lái),3DES實(shí)際上用的可能也并不是十分廣泛了,所以如果大家在選擇對(duì)稱加解密技術(shù)的時(shí)候,盡量避開(kāi)DES和3DES就可以了。

呵呵,喜新厭舊的沙雕人類…雖然DES已經(jīng)沒(méi)人用了,但畢竟也是輝煌過(guò),我覺(jué)得還是得動(dòng)手表演一波兒。我們知道,在php7里,原來(lái)的mcrypt系列加解密已經(jīng)被放棄掉了,官方建議我們使用openssl系列來(lái)進(jìn)行加解密,所以確保你的PHP環(huán)境里安裝了openssl標(biāo)準(zhǔn)擴(kuò)展。


文件保存成test.php后,執(zhí)行一把:php test.php | grep des,結(jié)果你們感受一下:

其中帶有ede的,比如des-ede*這樣的就表示是3DES。還有這么多奇奇怪怪的后綴是什么含義?回頭再說(shuō)…又不是不能用。

篩選一下,我們看des(非des3)有幾種帶著尾巴的具體方法:

des-cbc

des-cfb*(注意后面的通配符星號(hào))

des-ecb

des-ofb

我們先用傳統(tǒng)des方法繼續(xù)進(jìn)行裝逼表演:


保存為test.php執(zhí)行一把:

完美!就像老王的meshbox一樣,完美!

簡(jiǎn)單解析一下:

換個(gè)方法繼續(xù)一下:我們使用openssl_get_cipher_methods()函數(shù)獲取到可以使用的所有des加密方法,然后簡(jiǎn)單判斷一下我們選用的方法是否在其中;緊接著我們用123456作為密碼,helloMOTO作為明文內(nèi)容,openssl_encrypt()就是加密函數(shù),openssl_decrypt()就是解密函數(shù),具體的函數(shù)原型出門左拐查手冊(cè),總之一切都是這么的完美!


執(zhí)行一波兒,結(jié)果如下圖:

并不完美,報(bào)錯(cuò)了,一個(gè)warning級(jí)的錯(cuò)誤,雖然并不影響加密和解密,但是畢竟是報(bào)錯(cuò)了,錯(cuò)誤原文我復(fù)制粘貼過(guò)來(lái),你們感受下:

PHP Warning: openssl_encrypt(): Using an empty Initialization Vector (iv) is potentially insecure and not recommended in /home/ubuntu/lab/test.php on line 10

大概意思就是:用了一個(gè)并不推薦而且不安全的空iv在test.php的第十行。我正在翻譯的這句的時(shí)候,已經(jīng)精通英語(yǔ)的老李在旁邊跟我說(shuō)“你這翻譯也太硬了,要學(xué)會(huì)人性化,看好了,一看你這就是沒(méi)上過(guò)全日制大學(xué)本科的惡果”:

PHP警告:openssl_encrypt():iv向量最好別是空的,不推薦這么用,而且這樣并不安全~

什么是iv向量?先拋開(kāi)這個(gè)問(wèn)題,我先寫一段代碼,讓他能跑起來(lái):


注意到8、9、10和15、17兩行,均為iv向量做了改動(dòng),然后這次代碼保存了運(yùn)行一波兒:

完美!就像老王的meshbox一樣,完美!

那么,在des加解密中,我們遺留了兩個(gè)問(wèn)題:

des-cbcdes-cfb等這些后綴是什么意思?

iv向量是什么鬼東西?

長(zhǎng)按或許有驚喜

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/31702.html

相關(guān)文章

  • 永強(qiáng)持續(xù)你加解密對(duì)稱(二)

    摘要:但是給永強(qiáng)留下了面積巨大的心理陰影。所以永強(qiáng)本來(lái)昨天要發(fā)的文章拖到了今天,但是永強(qiáng)實(shí)在是怕了,他怕被人噴了被人罵了。 永強(qiáng)被嚇壞了!因?yàn)橛缽?qiáng)看到了某個(gè)微信群有人指出公眾號(hào)里上篇打醬油附送的那篇文章《震驚!北京一男子竟然用swoole做了這種事!》的內(nèi)容實(shí)在是太low了,這種low文章就不要拿出來(lái)發(fā)了。 但是給永強(qiáng)留下了面積巨大的心理陰影。他尚未見(jiàn)識(shí)過(guò)社交網(wǎng)絡(luò)的惡毒嘴臉。 所以永強(qiáng)本來(lái)昨...

    kk_miles 評(píng)論0 收藏0
  • 關(guān)于PHP加解密的懶漢入門(API安全加強(qiáng))

    摘要:由于密鑰被暴露了,所以必須換新的密鑰,元首這會(huì)兒只能走途徑告訴古德里安新的密鑰,這會(huì)兒逗逼的事情來(lái)了,如何對(duì)密鑰進(jìn)行加密。但是,有一點(diǎn)是值得說(shuō)明,那就是無(wú)論是對(duì)稱加密還是非對(duì)稱加密,都頂不住用機(jī)器是強(qiáng)行暴力猜解私鑰。 懶漢 入門 這兩點(diǎn)就足以說(shuō)明這篇文章不想要著有什么高端大氣的技術(shù)內(nèi)容,我跟你講,全是水。不可能有什么質(zhì)數(shù)素?cái)?shù)、橢圓曲線加密、迪菲-赫爾曼什么的,不可能有的。 首先我不...

    waterc 評(píng)論0 收藏0
  • SpringCloud(第 031 )配置客戶端ConfigClient鏈接經(jīng)過(guò)對(duì)稱解密的配置微

    摘要:添加應(yīng)用啟動(dòng)類配置客戶端鏈接經(jīng)過(guò)對(duì)稱加解密的配置微服務(wù)專門為測(cè)試經(jīng)過(guò)對(duì)稱加解密的配置微服務(wù)微服務(wù)模塊。 SpringCloud(第 031 篇)配置客戶端ConfigClient鏈接經(jīng)過(guò)對(duì)稱加解密的配置微服務(wù) - 一、大致介紹 1、Git服務(wù)端的文件內(nèi)容進(jìn)行了加密處理,那么是不是配置客戶端拿到內(nèi)容之后需要解密呢? 2、答案顯然不是的,因?yàn)檫@樣解密的話,先不說(shuō)實(shí)現(xiàn)起來(lái)的難易程度,單從表面...

    DDreach 評(píng)論0 收藏0
  • SpringCloud(第 033 )配置客戶端ConfigClient鏈接經(jīng)過(guò)對(duì)稱解密的配置微

    SpringCloud(第 033 篇)配置客戶端ConfigClient鏈接經(jīng)過(guò)對(duì)稱加解密的配置微服務(wù) - 一、大致介紹 1、在(第 031 篇)講解了如何鏈接對(duì)稱加密的配置服務(wù)端,而鏈接對(duì)稱非對(duì)稱加密的配置微服務(wù)也是同樣的; 2、配置客戶端不需要做什么加解密的配置,加解密的配置在服務(wù)端做就好了; 3、這里還順便列舉下配置路徑的規(guī)則: /****************************...

    ARGUS 評(píng)論0 收藏0
  • 關(guān)于PHP加解密的青年抬高(API安全加強(qiáng)二)

    摘要:實(shí)際上這一篇和上一篇均可以看作是關(guān)于加解密的懶漢入門篇安全加強(qiáng)篇一的后續(xù),只不過(guò)側(cè)重點(diǎn)在于安全上。回到上篇結(jié)果提到的問(wèn)題,就是對(duì)稱加密的安全性要人命,非對(duì)稱加密的性能非常要人命。元首作為高智商罪犯,這種低級(jí)錯(cuò)誤是不可能犯的。 為什么標(biāo)題總是要帶上API安全關(guān)鍵字呢?因?yàn)槲蚁胛覙?lè)意。 實(shí)際上這一篇和上一篇均可以看作是《關(guān)于PHP加解密的懶漢入門篇(API安全加強(qiáng)篇一)》》)的后續(xù),只不過(guò)...

    wujl596 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<