戏++ 发表于 2016-9-2 10:00:14

md5 整理

package main                                                                        

import (                                                                           
      "crypto/md5"
      "encoding/hex"                                                            
      "fmt"                                                                     
      "io"                                                                        
      //"log"                                                                     
      "os"            
      "strings"                                       
)
func main() {                                                                     
      arg_num := len(os.Args)
      /*fmt.Printf("the num of input is %d\n",arg_num)

      fmt.Printf("they are :\n")
      for i := 0 ; i < arg_num ;i++{
                fmt.Println(i,"=",os.Args)
      }*/
      //os.Exit(0)
      if arg_num!=2 {
                fmt.Println("md5 需要计算的文件名")
                os.Exit(0)
      }

      testFile := os.Args                                 
      //log.Println(testFile)                                                      
      file, inerr := os.Open(testFile)                                          
      if inerr == nil {                                                         
                md5h := md5.New()                                                   
                io.Copy(md5h, file)                                                
                //fmt.Printf("%x\n", md5h.Sum([]byte(""))) //md5                        

                md5str := strings.ToUpper(hex.EncodeToString(md5h.Sum(nil)))               
                fmt.Printf("%s\n",md5str)
      }else{
                fmt.Printf("求文件md5值出现错误")
      }
      fmt.Printf("\n");
}                           



package main
import (
   "crypto/md5"
   "encoding/hex"
   "fmt"
)
func main() {
   h := md5.New()
   h.Write([]byte("www.fishc.com")) // 需要加密的字符串为 www.fishc.com
   fmt.Printf("%s\n", hex.EncodeToString(h.Sum(nil))) // 输出加密结果
}

~风介~ 发表于 2017-3-2 13:19:19

跟C/C++差别不大,可以看懂大概!{:10_256:}
页: [1]
查看完整版本: md5 整理