ID:-
▼
數據結構是存儲、組織數據的方式。數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。通常情況下,精心選擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索算法和索引技術有關。
算法()是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。如果一個算法有缺陷,或不適合于某個問題,執行這個算法將不會解決這個問題。不同的算法可能用不同的時間、空間或效率來完成同樣的任務。一個算法的優劣可以用空間復雜度與時間復雜度來衡量。
▼
常見的加密算法可以分為對稱加密、非對稱加密以及單向加密(哈希算法),這些加密算法大量運用在各種系統和應用中常見的密碼算法體制有什么,最常見的是我們訪問使用HTTPS的網站流量是經過加密的,密碼保存在網站中大多也是經過MD5或者DES加密,而通常不推薦使用可逆的加密算法來加密保存用戶登錄密碼,因為在拿到密鑰的情況下可對數據進行還原。
▼
MD5(- 5,信息摘要算法第5版)是廣泛使用的散列算法(也稱“哈希算法”或“雜湊算法”)之一,采用帶密鑰的運算時,可同時用于消息完整性檢測和消息源。它是由MD2、MD3和MD4版本一路發展而來,是 于1991年設計發布的,用于取代MD4。
SHA( Hash ,安全哈希算法)主要適用于數字簽名,也是一種不可逆的MAC算法,但比MD5算法更加安全。目前它有三種主要的版本,即SHA-0、SHA-1、SHA-2和SHA-3。其中SHA-2和SHA-3版本中又有多種不同子分類,如在SHA-2中又根據它們最終所生成的摘要消息長度的不同又包括SHA-224、SHA-256、SHA-384和SHA-512等幾種。
SM3雜湊算法是中國國家管理局于2010年公布的中國商用雜湊算法標準(其實也是哈希算法,或者單向散列算法)。該算法由王小云等人設計,消息分組為512位,經過填充和迭代壓縮常見的密碼算法體制有什么,生成256位的雜湊值。總體來說,SM3算法的壓縮與SHA-256的壓縮具有相似結構,但SM3雜湊算法的設計更加復雜。
▼
AES( ,高級加密標準)是國家標準與技術研究院(NIST)在2001年建立了電子數據的加密規范。它是一種分組加密標準,每個加密數據塊大小固定為128位(16個字節),最終生成的加密密鑰長度有128位、192位和256位這三種。
DES(Data ,數據加密標準)是1972年IBM公司研制的對稱體制(加密和解密使用相同的密鑰)加密算法,1977年被聯邦政府的國家標準局確定為聯邦資料處理標準(FIPS),并授權在非密級政府通信中使用,隨后該算法在國際上廣泛流傳開來。與AES算法相比,DES的數據塊大小為8個字節,而AES的數據塊大小為16個字節。DES的密鑰長度是64位(其中8位用于校驗),而AES的密鑰長度是128位(AES算法比DES算法更安全)。DES加密算法的塊大小及密鑰長度都不能滿足現在的安全需求了,所以現在比較少使用這種加密算法,而是使用像AES或者3DES之類更高級的加密算法。