LQH入職第四天

2021-10-23 06:45:43 字數 1348 閱讀 7079

1、如何md5加密演算法

客戶端+鹽(字串)==》md5==》伺服器端+鹽(字串)==》md5==》資料庫

原理:如果是用的https則無需加密,因為https會將傳輸的檔案加密,不用擔心第三方會獲取途中的資料

2、md5、對稱加密、非對稱加密的比較區別

(1)md5是一種不可逆的加密,一定記住是不可逆的。

(2)對稱的加密演算法,現在大多用的是aes和des等,因為不管服務端還是客戶端都用的是乙個相同的金鑰所以可以說是對稱加密

(3)非對稱加密用的多的就是rsa,這個加密之所以叫非對稱是因為客戶端和伺服器用的不是同樣的金鑰分為公鑰和秘鑰。

3、md5加密演算法原理及實現

md5加密演算法原理及實現 md5訊息摘要演算法,屬hash演算法一類。md5演算法對輸入任意長度的訊息進行執行,產生乙個128位的訊息摘要。

以下所描述的訊息長度、填充資料都以位(bit)為單位,位元組序為小端位元組。

演算法原理

1、資料填充

對訊息進行資料填充,使訊息的長度對512取模得448,設訊息長度為x,即滿足x mod 512=448。根據此公式得出需要填充的資料長度。

填充方法:在訊息後面進行填充,填充第一位為1,其餘為0。

2、新增訊息長度

在第一步結果之後再填充上原訊息的長度,可用來進行的儲存長度為64位。如果訊息長度大於264,則只使用其低64位的值,即(訊息長度 對

264取模)。

在此步驟進行完畢後,最終訊息長度就是512的整數倍。

3、資料處理

準備需要用到的資料:

4個常數: a = 0x67452301, b = 0x0efcdab89, c = 0x98badcfe, d = 0x10325476;

4個函式:f(x,y,z)=(x & y) | ((~x) & z); g(x,y,z)=(x & z) | (y & (~z));

h(x,y,z)=x ^ y ^ z; i(x,y,z)=y ^ (x | (~z));

把訊息分以512位為一分組進行處理,每乙個分組進行4輪變換,以上面所說4個常數為起始變數進行計算,重新輸出4個變數,以這4個變數再進行下一分組的運算,如果已經是最後乙個分組,則這4個變數為最後的結果,即md5值。

4、go 實現加密

// 生成32位md5

func

md5(text string

)string

LQH入職第三天

1 遠端連線mysql homebrew是一款mac os平台下的軟體包管理工具,擁有安裝 解除安裝 更新 檢視 搜尋等很多實用的功能。安裝包brew install 解除安裝包 brew uninstall brew search mysqlbrew install mysql 5.7 c 設定密...

LQH入職第二天

1 從gitlib上拉下 命令 git clone https www.com.git 2 永久的配置go環境 使用 go env w 例如 go env w goprivate corp.example.com go env w go111module on 3 golang goproxy 設定...

LQH入職16天 功能模組

方便測試人員測試使用 traceid 獲取ctx中span的traceid,若無則返回空字串 func traceid ctx context.context string return 和傳統單體服務不同,微服務通常部署在乙個分布式的系統中,並且乙個請求可能會經過好幾個微服務的處理,這樣的環境下錯...