-
代码:
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") } }
-
编译运行:
Golang文件校验器
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 说明本次redis集群安装在rhel6.8 64位机器上,redis版本为3.2.8,redis的gem文件版本为...