国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Golang > 正文

golang 的md5加密

2020-04-01 19:11:47
字體:
來源:轉載
供稿:網友

先看實現代碼:

package main

import ( 
    "crypto/md5" 
    "encoding/hex" 
    "fmt" 
)

func main() { 
    h := md5.New() 
    h.Write([]byte("123456")) // 需要加密的字符串為 123456 
    cipherStr := h.Sum(nil) 
    fmt.Println(cipherStr) 
    fmt.Printf("%s/n", hex.EncodeToString(cipherStr)) // 輸出加密結果 
}

代碼輸入效果:

golang,md5加密

說明:

Golang的加密庫都放在crypto目錄下,其中MD5庫在crypto/md5包中,該包主要提供了New和Sum函數。

這里直接對一串字符串計算MD5。其中通過md5.New()初始化一個MD5對象,其實它是一個hash.Hash對象。 函數原型為: 

// New returns a new hash.Hash computing the MD5 checksum.

func New() hash.Hash {
    d := new(digest)
    d.Reset()
    return d
}該對象實現了hash.Hash的Sum接口:計算出校驗和。其函數原型 為:

// Hash is the common interface implemented by all hash functions.

type Hash interface {
    // Sum appends the current hash to b and returns the resulting slice.    // It does not change the underlying hash state.    Sum(b []byte) []byte

}

Sum 函數是對hash.Hash對象內部存儲的內容進行校驗和 計算然后將其追加到data的后面形成一個新的byte切片。因此通常的使用方法就是將data置為nil。

該方法返回一個Size大小的byte數組,對于MD5來說就是一個128bit的16字節byte數組。

 

參考資料:

Golang計算MD5 
http://gotaly.blog.51cto.com/8861157/1403942

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 治多县| 太仓市| 且末县| 黄浦区| 玉山县| 景宁| 清水河县| 韩城市| 上高县| 固安县| 息烽县| 通江县| 淮滨县| 霍州市| 徐州市| 娱乐| 蓬莱市| 宝应县| 墨竹工卡县| 巨野县| 新沂市| 泾阳县| 南江县| 南和县| 通道| 曲靖市| 始兴县| 女性| 二连浩特市| 淄博市| 彰化县| 石林| 金昌市| 宁海县| 包头市| 津南区| 仲巴县| 临洮县| 长顺县| 遂川县| 美姑县|