作者:ifz
项目:seller_adpto
func (this *PrePackModule) Init(global_conf *context.GlobalContext) (err error) {
this.click_head = global_conf.Prepack.ClickHeader
this.win_head = global_conf.Prepack.WinHeader
this.common_head = global_conf.Prepack.CommonHeader
utils.DebugLog.Write("Prepack.ClickHeader [%s]", this.click_head)
utils.DebugLog.Write("Prepack.WinHeader [%s]", this.win_head)
base64_code := [64]string{"0Ge5Q6wnuBML3Wg-8s7kAjOr2xohRHif1CczEXDKq_VaUPJdYpy9TSNvIFmbZ4tl", "1RPspa70TiZum_6tKNIFOVJ4o3gBGkdLlvhCnQHWDxEA5cq8fYzj2XU9MwrS-ybe", "2txfHr4BFaqSOTVn_CuYozeygvbcL1RNKs8MkWUPG0JpmXd5l6hDIAjw7i9E-Q3Z", "3c5gtSlVFoEXsehLaMJwI0Rv6U7xmWuzCYABP_TDp-QfdKniNrq2Ob419jHkGZy8", "456tTGIcm3EK7_RQpBA2uezWXjqnHPsi9bV-Zx8vSgkwaMlCoJ1DyfLFr0UYNhdO", "5zDkOUe_q7a2TN-Y3fvrnsCHZxhBIdcESPj8GuWXLgib4QwJo6yVtMF0Kp1mA9Rl", "6bgkOJjx8mPI9Y_hWANypSoFtnDadivQ31crfR0uC-K2qzE4UslMXGBTL5Vw7HeZ", "7zXOg9UZp0sa2vWGJP3TCBYR-6eIfHVnmdKwMrbuSlo8LFNthAkqcDy4QxE5ji1_", "8iMsWOQuApUEhoITJfjbYdLqrcF3m17XwNa_B4lVSC-Deny0KPtG6z2k5gx9vZHR", "9gdocC-fpejPiYnHF7l0XrWUAaS3OI_Nm2uDkyZbVGRJq5vt1QzhM6xTLw4BsK8E", "aJEr4IWdD3Zxw8ClmNzGPHFL9usbKTvXU-2eAkiV16ScBOy7pqgQnR0_j5MYftho", "bZqml65BeDJETLrNpMAC-tIOhVXsnf1w9_Szv7gP2xaWKR0cQ4F3Uuo8YHGdjiky", "cIJjl64KtC_doMuUeEq0fv831F2kDnNshAbzVaZTprYHB-mWXwygQ7RGxi9PL5SO", "dZgpqwv-321tRL5ITib0X8Uy64kKjoQuOsrGENxMBfY9WDea7HcmJnAC_PzSlFVh", "eUOghPNMEVoxkiG7YQL0Zmjc_IWsdl2FtRufySH4DvATBwbXCK9z5-par8J61nq3", "fP1pUQ3_moNy-7FXHAGT8uKL4wszIVMjaRdhi25E9O0kWntrBvScl6DZgqbxYJCe", "g43jISvAuK6UND0qYma2QXxRPyBib1l_zCtke5VpsEJOMf7LdZHGcFnw-hW9o8Tr", "humQGil2xCkHY391US7DvZVEbe_PR4NXWqKgrFfJApd60Bt8yno5IMawsj-OLzcT", "i2MxZ56X0LWSQGzpONHwPje_lA1nftYIvRTr-9UJs4DkydcgoVqBCu3bE7Kh8mFa", "jk9A_YBn6aqWt1yfm38SLJ7z-c42erUEHxhb5dROGgNoIusvKCDXQMTp0lZiPwVF", "kCBHjyTZmhSEwfY8JPdX9MpoKWuL61FQDtOnzab-s3INrc4qi0e7lA_gxUV5R2Gv", "lToWfMpEHAcir_JLRdBDSkaU5hPnmOCqVZ2KXNzI4uwGx01Ys379egtQ8yF-vbj6", "m36NTQ82RhD4E-tMfxjs0CPoLbirI_WBZHgnFcypezvkadXSGwO95lAKYJ7Uu1qV", "niOyHQ6oFbWzeM1qmu4tV9grTkldhGj20NELD3pRU8ZSAa7-wxKJsYcPBI5_vCXf", "odnysI_h-FGKmJQ2NvUwgVLcaOHCbSDAqlxp85Zurjzi4Mft793RYPe6TE01XkWB", "p0tGYHmhNTfdFkMQbUc1axCq4y5viXD89suS3BAIPL67VKrWolOgzwRZ_eE2jJ-n", "qrw0jSf_3pxth-LZnPoBITkGAvl7gQKdF69CVyWaD5izE4mN8ecMRHYOu2UJs1Xb", "rjUafJvNocE3D8TiQYVAHLp7WbSnzemqugBy5lIFk10_2CdM-Gh69Ksx4XRZtOwP", "sPWiyNlL3rGBI8gtfxpDbAoUe_5uhzMjZd09cTCamEwYJF6k14QvnVK7Oq-R2HXS", "tHir6_aKGnqf1RQABh3IzSwYysp4kWdUPCce2l7ZV8XJO9MmLbg50NT-vFuEoxjD", "uvfDMaj4s7hUr0GBSxWqyV6z-gnLH9QCFoJZwPK8_1lXYON2RpATId5bimEtce3k", "vy01f3dLjbn4RQuSpiEhKV_XaMB6l2cgxFI-8oUWPAY95wtmZkJNzHOCqrTe7sGD", "wDmOP9vQr_tyguqxobLHzjMC50-IAJiB4EZf1nh36sl8VWTXYGF2d7UaeSkcKpRN", "xyqhnozlE_1cV8mukNLTtHfW6r5gw2Se09A4BC3OvJdIXFpsRDiM7YbPGUajKQZ-", "y6D3Z4lYsGaxOd0nE9irmRthB7ILkPW-NbCjQpSUe12gcFK8uvofzXq5_TAHMJVw", "zH-ExpCWvMa4iPKkDdeTwq3_moAIQFXSUYGgBbL07NftO2r8nJ6lsRyu5cZhV91j", "ApKPs5S8LviIeqzyGMEmkrUhJdRgx-Q12VZFlTt9b7Y3NoBc_uOaD0CfWXHn4jw6", "BTUcJEezrnZg1YKoD3Iy_aGNOPCQtiljm90LvVWXkx48p5AHhf-dqSu67MsFwb2R", "Cfxmu205MWqpTElyPLQhODzjG36JwdsYVINZvSr471tAk_nea-R89oHbFKBicgXU", "De9UpodQBKy12HC_f6xRkYOgXv-7PNEWbuLA0qaGTScs54inrwJmZzjMF3IlVh8t", "E1RkI23NpneclxgmPyZ685Twv4aGrfCQsib-0Md9JhDO7F_VUSHqKYouAWjtBXLz", "Fu1SjpgwfAm5hU3DGdYnEsIX-kl_oaN62KWctPb098CezHZqOR4vVB7yQLixTrJM", "Gv7QT10t6edVH59gcLWOEAblzRkPyFCYNXf4I82iMmwUB_3Z-axKSspnojuJhqrD", "H-lduv6Xih9fQmF3O4JxMY7pcIjTnoatSs0CZBe15U_RyrLgPN8EwkAKGbDzW2Vq", "I9h-UfpFRlVGb_O10Zai3sq7dALjyDte2SzvMCBcYuxK5H8JwNXTPkEWr6gQno4m", "J-fYWMd6jFomtR5SP9lcqEn4aHAVx0ONILrCsyQi_pwTUhg73BvKDz2u1ZkXe8bG", "KboJvRSdBLe_r9EDz8HO-Z5GI0PW7cQuNns63gAhtYilTkqwyCF1xUVaM2m4Xfpj", "LmPDzctkaYWfSZn4yRCIBl253dw8sb9VxJEAXU6erN_Ou0GvMQg-Ko1iT7FhqpjH", "M1DFQXKTH-fJtUwBpngi04odZV3eYO9GuW86NrLh7xEslRP2z_aCkIjAcym5qSbv", "NuzOPiFag3dWUewMmyTEB5kYhcxDL2fbr_V8nRC9HGI0ZQ67KXo-lAqvJSs41jtp", "OXE5d2WJIKelZS0wj3tN6xvhP1QMrF8-nDka7HTyLi_YgVCGAzubomUf49BRcqps", "PIoQ0Vd-DgF9aYLHyGtvBcX61x8mJ_AKMU5bR3sruwTlfh42knSejNiWEqp7OZCz", "QrfzshiqxbpXZGuPV4_HL62on8YwSWITAc-eyO3djvKgNa5mE7tD10BFCMkJUl9R", "R3kYn_jgNAOJCdSwHol84aQbD7U-IhBciV20EuKM9tfrFxZ6XqzvmpLW1GPT5sey", "SLfn20Wt7oU1zMqrYkJcFZ9BmaOueV3sPTKQ5N-xbiI8DC6yp4gAvXGHlwhdRE_j", "T3JinH-K2NPsx4MuacYrXvdmWZjeOAQfp9C8tDz075qE1yVUBRb_L6whSGFoklIg", "UCvz-5K34p9OBSL8tkImg21wGYFfl6NaciZnDx7sRW0b_eyoAEQPrXqMjhHTduJV", "V4miLp8wCY0QGx7oB6_FvjWJeRs2dZK5XDNOAkhUbuMcHanT3zEIlgyr9tf-1SPq", "Wxd0EnjzS6DXcIR1qUoJMmF_fGa8uHs5h9A3VkbTiCZvNplLryKwQY4BOPg7et-2", "XYc4wekTRE8ZoxQ9dtiyO-3aAfuIjVsCFh_7Jp20rqm5SHWL1lBbnUNzDKvGPMg6", "YHS9KRLhdqbMtaeX6wG4QNp21sBFrIV_y7DlCzOx80UiumWAnT5-PkgocJEf3jZv", "Z_FmazrYTKXHW-4sSbk86D5VPyfN13gBu9deJE7q2ontjQOGhxwiCclUAMvLp0IR", "_rJb0Up6R2hNDWFAH3LswnYd7zPQo1M8KxyIjBugESqTGZtmleifcVkCX9v5-aO4", "-6mTYvy7KRxCr2elEiWbL5qMoc9G1_3untsdpjwDAzFVhZSgBN0aIOU4QkH8fJXP"}
for i := 0; i < len(base64_code); i++ {
this.coder[i] = base64.NewEncoding(base64_code[i])
}
code_char := "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
this.basecoder = base64.NewEncoding(code_char)
this.texttpl, err = template.ParseFiles(global_conf.Template.Texttpl)
utils.DebugLog.Write("get texttpl [%s]", global_conf.Template.Texttpl)
if err != nil || this.texttpl == nil {
utils.FatalLog.Write("load texttpl fail, err[%s]", err.Error())
return
}
this.imgtpl, err = template.ParseFiles(global_conf.Template.Imagetpl)
utils.DebugLog.Write("get imagetpl [%s]", global_conf.Template.Imagetpl)
if err != nil || this.imgtpl == nil {
utils.FatalLog.Write("load imagetpl fail, err[%s]", err.Error())
return
}
this.icontexttpl, err = template.ParseFiles(global_conf.Template.Icontexttpl)
utils.DebugLog.Write("get icontpl [%s]", global_conf.Template.Icontexttpl)
if err != nil || this.icontexttpl == nil {
utils.FatalLog.Write("load icontexttpl fail, err[%s]", err.Error())
return
}
this.texttpl_rec, err = template.ParseFiles(global_conf.Template.Texttplrec)
utils.DebugLog.Write("get texttpl_rec [%s]", global_conf.Template.Texttplrec)
if err != nil || this.texttpl_rec == nil {
utils.FatalLog.Write("load txttpl_rec fail . err[%s]", err.Error())
return
}
this.imgtpl_rec, err = template.ParseFiles(global_conf.Template.Imagetplrec)
utils.DebugLog.Write("get texttpl_rec [%s]", global_conf.Template.Imagetplrec)
if err != nil || this.imgtpl_rec == nil {
utils.FatalLog.Write("load imagetpl_rec fail . err[%s]", err.Error())
return
}
this.icontpl_rec, err = template.ParseFiles(global_conf.Template.Icontplrec)
utils.DebugLog.Write("get icontpl_rec [%s]", global_conf.Template.Icontplrec)
if err != nil || this.icontpl_rec == nil {
utils.FatalLog.Write("load icontpl_rec fail . err[%s]", err.Error())
return
}
/* this.recommendtpl, err = template.ParseFiles(global_conf.Template.Recommendtpl)
if err != nil || this.imgtpl == nil {
return
}*/
return
}
作者:muyizixi
项目:commonOperatio
//for a websocket connection this function funcs as handshaking
//apply websocket protocal to establish a connection
func HandshakeOfWS(conn net.Conn) error {
b := make([]byte, 1024)
a := make([]byte, 1024)
n, err := conn.Read(a)
b = append(b, a[:n]...)
if err != nil {
if err == io.EOF {
} else {
return errors.New("error happen when read from connection!")
}
}
re, err := regexp.Compile("Sec-WebSocket-Key: (.*)\r\n")
if checkErr(err) {
return errors.New("regexp error!")
}
result := re.FindStringSubmatch(string(b))
if result == nil {
return errors.New("not right format!")
}
key_tmp := append([]byte(result[1]), []byte(mask)...)
key_tmp_tmp := sha1.Sum(key_tmp)
encoder := base64.NewEncoding(base64Table)
dst := make([]byte, 1024)
encoder.Encode(dst, key_tmp_tmp[:])
reply := "HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: " + string(dst) + "\r\n\r\n"
conn.Write([]byte(reply))
return nil
}
作者:2qif49l
项目:golan
func SendToEvernote(from, to, subject, body string) error {
hp := strings.Split(EmailSrv, ":")
auth := smtp.PlainAuth("", EmailUsr, EmailPwd, hp[0])
subject = erasebractket(subject)
tmpsubject := subject
subidx := 0
for len(tmpsubject) > 0 {
_, size := utf8.DecodeRuneInString(tmpsubject)
if subidx+size > 70 {
break
}
subidx += size
tmpsubject = tmpsubject[size:]
}
subject = subject[:subidx]
subject = strings.Replace(subject, "@", "", -1)
subject += " @股市"
log.Println("SendToEvernote", from, subject, to)
b64 := base64.NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")
msg := []byte("To: " + to + "\r\nFrom: " + "xhbot" + "<" + EmailUsr + ">\r\nSubject: " + encodeRFC2047(subject) + "\r\n" + "MIME-Version: 1.0\r\n" + "Content-Type: text/html; charset=UTF-8 \r\nContent-Transfer-Encoding: base64\r\n\r\n" + b64.EncodeToString([]byte(body)))
send_to := strings.Split(to, "|")
err := smtp.SendMail(EmailSrv, auth, EmailUsr, send_to, msg)
return err
}
作者:soundclou
项目:sc-gaw
// SignPolicy return the proper signature and other parameters needed to
// generate a valid Cloudfront Signed URL.
// For canned policies this is: Expires, Signature, Key-Pair-Id
// For custom policies this is: Policy, Signature, Key-Pair-Id
//
// More information:
// http://goo.gl/pvA97e
// Command line equivalent:
// cat policy | openssl sha1 -sign cloudfront-keypair.pem | openssl base64 | tr '+=/' '-_~'
func SignPolicy(privateKey PrivateKey, policy PolicySigner, keyPairID string) (string, error) {
signature, err := policy.signWithPrivateKey(privateKey)
if err != nil {
return "", fmt.Errorf("Cannot sign policy: %v", err)
}
encoding := base64.NewEncoding(encodeCloudFront)
paddingMap := func(r rune) rune {
switch r {
case '=':
return '_'
default:
return r
}
}
switch policy.(type) {
case CannedPolicy:
return fmt.Sprintf("Expires=%d&Signature=%s&Key-Pair-Id=%s",
policy.(CannedPolicy).ExpiresAt.Unix(),
strings.Map(paddingMap, encoding.EncodeToString(signature)),
keyPairID,
), nil
case CustomPolicy:
return fmt.Sprintf("Policy=%s&Signature=%s&Key-Pair-Id=%s",
strings.Map(paddingMap, encoding.EncodeToString([]byte(policy.String()))),
strings.Map(paddingMap, encoding.EncodeToString(signature)),
keyPairID,
), nil
}
return "", nil
}
作者:rhett
项目:ft
func encodeBytes(b []byte) (s string) {
// Note that this encoding is not decodable, as we are using '0' for two different bytes.
// This is much safer for using these as parts of file names.
enc := base64.NewEncoding("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz0")
s = enc.EncodeToString(b)
return
}
作者:tzm52
项目:studyg
func main() {
host := "192.168.0.243:25"
from := mail.Address{"发件人", "[email protected]"}
to := mail.Address{"收件人", "[email protected]"}
header := make(map[string]string)
header["From"] = from.String()
header["To"] = to.String()
b64 := base64.NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")
header["Subject"] = fmt.Sprintf("=?UTF-8?B?%s?=", b64.EncodeToString([]byte("标题测试")))
header["MIME-Version"] = "1.0"
header["Content-Type"] = "text/html; charset=UTF-8"
header["Content-Transfer-Encoding"] = "base64"
body := "邮件正文"
message := ""
for k, v := range header {
message += fmt.Sprintf("%s: %s\r\n", k, v)
}
message += "\r\n" + b64.EncodeToString([]byte(body))
//auth := smtp.PlainAuth("", "", "", host)
err := smtp.SendMail(host, nil, "[email protected]", []string{to.Address}, []byte(message))
fmt.Println(err)
}
作者:spartacus2
项目:cobwe
func (ca *ConnectionAcceptor) HandleConnection(conn net.Conn) {
err := conn.(*tls.Conn).Handshake()
if err != nil {
log.Print("New connection failed during Handshake")
log.Print(err)
} else {
state := conn.(*tls.Conn).ConnectionState()
if len(state.PeerCertificates) == 0 {
log.Print("New connection failed: no certificate present")
conn.Close()
return
}
hash := sha1.New()
hash.Write(state.PeerCertificates[0].Raw)
sha1hash := hash.Sum(nil)
encoder := base64.NewEncoding("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/")
hashstring := encoder.EncodeToString(sha1hash)
if hashstring == ca.Myhash {
log.Print("New admin connection")
ca.out <- NewEvent("NewAdminConnection", conn)
} else {
ci := &UnauthConnectionInfo{conn, hashstring}
event := NewEvent("NewUnauthenticatedConnection", ci)
//log.Print("New unauthenticated connection")
ca.out <- event
}
}
}
作者:xiox
项目:aliyun-openapi-go-sd
func Base64Encode(values []byte) string {
if base64Encoding == nil {
base64Encoding = base64.NewEncoding(base64CodeTbl)
}
return base64Encoding.EncodeToString(values)
}
作者:hallli
项目:pwge
func genPw(master, siteName, alphabet string) (string, error) {
if m, _ := regexp.MatchString("[^uns]+", alphabet); m {
return "", errors.New(fmt.Sprintf("Alphabet string %s makes no sense", alphabet))
}
encodeString := ""
if strings.Contains(alphabet, "u") {
encodeString += "QWERTYUIOPASDFGHJKLZXCVBNM"
}
if strings.Contains(alphabet, "n") {
encodeString += "1234567890"
}
if strings.Contains(alphabet, "s") {
encodeString += "[email protected]#$%^&*()~`{}[];:<>,.?/"
}
encodeString += genLowers(64 - len(encodeString))
encoder := base64.NewEncoding(encodeString)
c1 := sha256.Sum256([]byte(master + siteName))
s1 := encoder.EncodeToString(c1[:12])
return s1, nil
}
作者:kkpap
项目:hype
func Base64Decode(fileContent string) (string, error) {
b64 := base64.NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")
decodeBytes, err := b64.DecodeString(fileContent)
if err != nil {
return "", err
}
return string(decodeBytes), nil
}
作者:Festu
项目:go-meg
func randString(l int) string {
encoding := "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789AB"
b := make([]byte, l)
rand.Read(b)
enc := base64.NewEncoding(encoding)
d := make([]byte, enc.EncodedLen(len(b)))
enc.Encode(d, b)
d = d[:l]
return string(d)
}
作者:nickvan
项目:bogo
func base64Decode(data string) ([]byte, error) {
base := base64.NewEncoding(validEncoding)
if len(data)%4 == 1 && data[len(data)-1] == 'A' {
return base.DecodeString(string(data[:len(data)-1]))
}
if len(data)%4 != 0 {
data = data + strings.Repeat("=", (4-(len(data)%4)))
}
return base.DecodeString(data)
}
作者:strangeligh
项目:shelleo
func generate(secretpassword, sitename string) string {
input := []byte(secretpassword + ":" + sitename)
pwd := &bytes.Buffer{}
encoder := base64.NewEncoder(base64.NewEncoding("ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz123456789?!#@&$"), pwd)
h := sha1.New()
h.Write(input)
s := h.Sum(nil)
encoder.Write(s)
encoder.Close()
return ensurenumberandletter(pwd.String()[:10])
}
作者:GoesToEleve
项目:golang-we
func main() {
s := "Love is but a song to sing Fear's the way we die You can make the mountains ring Or make the angels cry Though the bird is on the wing And you may not know why Come on people now Smile on your brother Everybody get together Try to love one another Right now"
encodeStd := "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
s64 := base64.NewEncoding(encodeStd).EncodeToString([]byte(s))
fmt.Println(len(s))
fmt.Println(len(s64))
fmt.Println(s)
fmt.Println(s64)
}
作者:oopcod
项目:gollu
// Configure initializes this formatter with values from a plugin config.
func (format *Base64Decode) Configure(conf core.PluginConfig) error {
dict := conf.GetString("Dictionary", "")
if dict == "" {
format.dictionary = base64.StdEncoding
} else {
if len(dict) != 64 {
return fmt.Errorf("Base64 dictionary must contain 64 characters.")
}
format.dictionary = base64.NewEncoding(dict)
}
return nil
}
作者:Joinhac
项目:peon
func init() {
gob.Register((*peony.Session)(nil))
peony.OnServerInit(func(s *peony.Server) {
sec := s.App.Security
encoding = base64.NewEncoding(sec)
s.RegisterSessionManager(&SimpleSessionManager{})
CookieHttpOnly = s.App.GetBoolConfig("CookieHttpOnly", false)
CookieSecure = s.App.GetBoolConfig("CookieSecure", false)
SessionTimeout = s.App.GetIntConfig("SessionTimeout", 30)
})
}
作者:nickvan
项目:bogo
func base64Encode(data []byte) (string, error) {
if len(data) < 1 {
return "", errors.New("Zero Length String")
}
base := base64.NewEncoding(validEncoding)
encodedString := base.EncodeToString(data)
if !strings.Contains(encodedString, "=") {
encodedString += "A"
} else {
encodedString = strings.TrimRight(encodedString, "=")
}
return encodedString, nil
}
作者:toolkit
项目:smt
func (this *Smtp) SendMail(from, tos, subject, body string, contentType ...string) error {
if this.Address == "" {
return fmt.Errorf("address is necessary")
}
hp := strings.Split(this.Address, ":")
if len(hp) != 2 {
return fmt.Errorf("address format error")
}
arr := strings.Split(tos, ";")
count := len(arr)
safeArr := make([]string, 0, count)
for i := 0; i < count; i++ {
if arr[i] == "" {
continue
}
safeArr = append(safeArr, arr[i])
}
if len(safeArr) == 0 {
return fmt.Errorf("tos invalid")
}
tos = strings.Join(safeArr, ";")
b64 := base64.NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")
header := make(map[string]string)
header["From"] = from
header["To"] = tos
header["Subject"] = fmt.Sprintf("=?UTF-8?B?%s?=", b64.EncodeToString([]byte(subject)))
header["MIME-Version"] = "1.0"
ct := "text/plain; charset=UTF-8"
if len(contentType) > 0 && contentType[0] == "html" {
ct = "text/html; charset=UTF-8"
}
header["Content-Type"] = ct
header["Content-Transfer-Encoding"] = "base64"
message := ""
for k, v := range header {
message += fmt.Sprintf("%s: %s\r\n", k, v)
}
message += "\r\n" + b64.EncodeToString([]byte(body))
auth := smtp.PlainAuth("", this.Username, this.Password, hp[0])
return smtp.SendMail(this.Address, auth, from, strings.Split(tos, ";"), []byte(message))
}
作者:tomme
项目:GoogleGo-Twitter-Clien
/**
* getAuthHeader generates a base64 encoded auth-header value
* which can be used in a http request to access restricted urls.
*/
func getAuthHeader(client *Client) string {
// base64 encode the username and password
var encoding = base64.NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")
//log.Stdout(client.Username+":"+client.Password);
var src []byte = strings.Bytes(client.Username + ":" + client.Password)
var encodedLen int = encoding.EncodedLen(len(src))
var dest = make([]byte, encodedLen)
encoding.Encode(dest, src)
var destSlice = dest[0:encodedLen]
// convert bytes to string
var destStr = "Basic " + bytes.NewBuffer(destSlice).String()
return destStr
}
作者:zykzhan
项目:practic
func tNewEncoding() {
base64Table := "123QRSTUabcdVWXYZHijKLAWDCABDstEFGuvwxyzGHIJklmnopqr234560178912"
// P(len(base64Table))
coder := base64.NewEncoding(base64Table)
output := coder.EncodeToString(input)
stoutput := base64.StdEncoding.EncodeToString(input)
P(output)
P(stoutput)
input2, _ := coder.DecodeString(output)
input2Std, _ := base64.StdEncoding.DecodeString(stoutput)
P(string(input2))
P(string(input2Std))
}