lidonghe 发表于 2018-9-21 06:12:04

go golang 判断base64数据 获取随机字符串 截取字符串

//不能判断一定是,可以判断一定不是。判断方式,base64只包含特定字符;解码再转码,查验是否相等。目前貌似没有能一定判断是的方法,有的话请指正,感谢。  func JudgeBase64(str string) bool {
  pattern := "^({4})*({4}|{3}=|{2}==)$"
  matched, err := regexp.MatchString(pattern, str)
  if err != nil {
  return false
  }
  if !(len(str)%4 == 0 && matched) {
  return false
  }
  unCodeStr, err := base64.StdEncoding.DecodeString(str)
  if err != nil {
  return false
  }
  tranStr := base64.StdEncoding.EncodeToString(unCodeStr)
  //return str==base64.StdEncoding.EncodeToString(unCodeStr)
  if str == tranStr {
  return true
  }
  return false
  }

页: [1]
查看完整版本: go golang 判断base64数据 获取随机字符串 截取字符串