-
代碼:
package main import "io" import "os" import "fmt" import "crypto/md5" import "crypto/sha1" func main() { if (len(os.Args) < 3) { fmt.Printf("usage: check [md5|sha1] file\n\n") fmt.Printf(" %4s: %s\n", "md5", "計算文件md5值") fmt.Printf(" %4s: %s\n", "sha1", "計算文件sha1值") return } f, err := os.Open(os.Args[2]) if err != nil { fmt.Printf("Sorry, file open failed\n") return } buf := make([]byte, 1024 * 1024 * 16 * 16) switch os.Args[1] { case "md5": h := md5.New() for { n, err := f.Read(buf) h.Write(buf[:n]) if err == io.EOF { break } } fmt.Printf("%x\n", h.Sum(nil)) case "sha1": h := sha1.New() for { n, err := f.Read(buf) h.Write(buf[:n]) if err == io.EOF { break } } fmt.Printf("%x\n", h.Sum(nil)) default : fmt.Printf("參數有誤\n") } }
-
編譯運行:
run.jpg
Golang文件校驗器
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- 說明本次redis集群安裝在rhel6.8 64位機器上,redis版本為3.2.8,redis的gem文件版本為...