C MVC通過MD5和SHA256加密

2021-10-06 15:15:11 字數 1429 閱讀 5133

在寫文章之前,我也不知道這兩個是什麼東西,只知道這是加密用的,網上說的也都太抽象。誰讓人家本來就是抽象類來著。反正算是一種安全機制吧,寫這篇文章的目的首先分享一下自己的對md5和sha256的理解和應用,其次而最重要的就是希望大家提出自己的見解,互相交流。

md5演算法因其普遍、穩定、快速的特點,仍廣泛應用於普通資料的加密保護領域。md5碼以512位分組來處理輸入的資訊,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成乙個128位雜湊值。

安全雜湊演算法(英語:secure hash algorithm,縮寫為sha)是乙個密碼雜湊函式家族,是fips所認證的安全雜湊演算法。能計算出乙個數字訊息所對應到的,長度固定的字串(又稱訊息摘要)的演算法。且若輸入的訊息不同,它們對應到不同字串的機率很高。

經過查閱我才知道,原來sha256就是乙個雜湊函式,sha256演算法使用的雜湊值長度是256位,然而我還是不太透徹,甚至說不甚理解。如五柳先生雲,好讀書,不求甚解。

具體隨煜而安的這篇原理詳解講的很清楚,sha256演算法原理詳解,然而對於我這種網路程式設計零基礎的人來說,也是不求甚解吧。

對於我這種對理論不求甚解的人來說,彷彿他的作用他的功能也顯得尤為重要了,毋庸置疑,我們接觸到它不就是他能加密嘛,怕我們辛辛苦苦存的資料被別人竊取,反正這是我所在的層面所認識到的觀點。

}這是我在c#新建的mvc的contruller裡面寫的乙個表單,我們獲取到page1文字框的資料以"/demo/page2?data=&key="格式傳到page2,可以看到我們一共需要兩個值,乙個data,乙個key值。

我們這裡定義了乙個md5,將data 和privatekey 拼接後進行md5andsha256加密,然後將data,和md5傳到page2。

public actionresult page2()

else

}

接下來我們看page2,page2這裡也有乙個privatekey ,page1裡的privatekey 就相當於使用者輸入的密碼,page2這裡privatekey 就相當於根據使用者id查詢資料庫裡的密碼,但是使用者輸入密碼通過位址列是會暴露的,所以我們這裡進行了加密,在page2裡我們這個privatekey 和page1的privatekey 值是一樣的,通過比較進行判斷意義上的使用者是否登入成功。

SHA1和md5的使用

sha1的全稱是secure hash algorithm 安全雜湊演算法 加密雜湊函式將任意長度的二進位制字串對映為固定長度的小型二進位制字串。加密雜湊函式有這樣乙個屬性 在計算上不大可能找到雜湊為相同的值的兩個不同的輸入 也就是說,兩組資料的雜湊值僅在對應的資料也匹配時才會匹配。資料的少量更改會...

MD5與SHA雜湊單項加密

md5的英文全稱是message digest algorithm md5,譯為訊息摘要演算法第五版,是眾多雜湊演算法中的一種 雜湊演算法是一種可以將任意長度的輸入轉化為固定長度輸出的演算法 因此md5演算法是一種雜湊演算法,嚴格來說不能稱之為一種加密演算法,但是它可以達到加密的效果,因此網路中會出...

PHP計算MD5和SHA1值

最近開發專案,需要用到檔案的md5和sha1值,這裡簡單地記錄下,備忘。md5的計算分為計算字串和檔案的md5值,sha1的計算分為計算字串和檔案的sha1值。php 4,php 5 md5 計算字串的 md5 雜湊值 report a bug string md5 string str bool ...