軟體工程師應該關注的web加密手段(面試被問到)

2021-08-26 23:23:34 字數 1807 閱讀 2098

1.非對稱加密(公開金鑰加密)

公開金鑰加密,是加密和解密使用不同金鑰的演算法,廣泛用於資訊傳輸中。

常見的演算法有:**rsa、elgamal、rabin。**
2.對稱加密

將資訊使用乙個金鑰進行加密,解密時使用同樣的金鑰,同樣的演算法進行解密。

常見的演算法有:**des、3des、aes**。
數字證書

數字證書是由證書頒發機構(ca)來驗證證書持有人的身份受信任的第三方頒發的證書。

數字簽名

數字簽名是可用於驗證數字文件的真實性的方法。

區別:數字簽名與數字證書都是非對稱加密的應用。

數字簽名是用於檢驗乙個特定的數字文件或訊息是可信的。(即它被用來驗證該資訊沒有被修改)

數字證書是一種機制通常用在**上增加其可信度它的使用者。(即它被用來驗證該**是否是受信用的**)

摘要演算法(雜湊演算法)

1.md系列 常見的演算法有md5、md4、md3、md2。

2.sha系列 常見的演算法有sha-1、sha-224、sha-256、sha-384、sha-512。

ps:md5演算法原理

對輸入的資料進行補位,使得如果資料位長度len對512求餘的結果是448。即資料擴充套件至k*512+448位。即k*64+56個位元組,k為整數。具體補位操作:補乙個1,然後補0至滿足上述要求。
區別:

加密演算法是可逆。加密演算法作用是提高資訊的保密性。

例子:伺服器對資料進行加密,傳送它乙個安全的ssl連線到瀏覽器,瀏覽器解密,就可以看到解密的內容。

雜湊演算法不可逆。雜湊演算法作用是驗證資訊的完整性。對一段message(位元組串)產生fingerprint(指紋),可以防止被「篡改」。

不用該軟體那你可自己琢磨著看啦。
雜湊演算法常常也用於加密,還有一些其他的加密手段,如:base64加密。利用編碼加密方式)

ps:base64加密不安全,容易破解。

ps:2023年,中國密碼學家王小雲教授領導的小組利用雜湊函式碰撞成功破解md5密碼演算法,sha-1密碼演算法。(只是縮短了一些破譯的時間與步驟)

只要的**安全要求不是很高的話,雜湊演算法一般還是可以繼續使用的,還是安全的。

網上所謂md5解密也不是很靠譜。

工作中用到加密演算法:幾種常用加密演算法的優缺點:

des加密優缺點:

des秘鑰位數比較短,56bit,安全性比較低,不能對抗差分和線性密碼分析;但是des加密速度比較快。

rsa加密的優缺點:

rsa演算法的秘鑰很長,加密的計算量比較大,安全性較高,但是加密速度比較慢。

採用des與rsa相結合的應用,使它們的優缺點正好互補,即des加密速度快,適合加密較長的報文,可用其加密明文;rsa加密速度慢,安全性好,應用於des 金鑰的加密,可解決des 金鑰分配的問題。目前這種rsa和des結合的方法已成為email保密通訊標準。

sha1 和 md5 是雜湊演算法,將任意大小的資料對映到乙個較小的、固定長度的唯一值。加密性強的雜湊一定是不可逆的,這就意味著通過雜湊結果,無法推出任何部分的原始資訊。任何輸入資訊的變化,哪怕僅一位,都將導致雜湊結果的明顯變化,這稱之為雪崩效應。雜湊還應該是防衝突的,即找不出具有相同雜湊結果的兩條資訊。具有這些特性的雜湊結果就可以用於驗證資訊是否被修改。md5 比 sha1 大約快 33%。

軟體工程師應該寫作

在小學,有一些 數學天才 和 語文天才 你們由於在其他孩子印象中各自的強項而被貼上標籤。我曾是乙個所謂的 數學天才 所以我主修電腦科學並嚮往去做乙個軟體工程師。雖然一直以來 數學天才 或 語文天才 這樣的稱號從來沒有真正的磨去,但只要可以把任何事做強。如今我見過的工程師畏懼寫東西,我見過的作家也同樣...

軟體工程師招聘需求

我們又很多軟體工程師需求,有意向的和我聯絡 c 高階工程師 任職要求 1.大學本科及以上學歷,計算機相關專業畢業 2.良好的英語閱讀能力 學習能力 溝通能力及團隊協作精神,能夠承受一定工作壓力 3.紮實的 c 程式設計功底,精通 win32 mfc 和多執行緒等技術 4.五年以上 visual c ...

小白軟體工程師歷程

將自己作為乙個無知的海綿,去吸收更多的知識來充實自我。不知不覺,已經畢業三年,工作三年了。趁著難得空閒時間,對自己的工作好好進行下梳理。大學畢業,進入一家相對規模不錯的公司入職,進入到乙個雲集了各種大神的部門。還記得剛剛到達時候的各種恐慌,因為周圍的同事太強悍,每個人都是那麼的優秀,那麼的獨擋一面。...