mirror of
https://github.com/kongyuebin1/dongfeng-pay.git
synced 2025-09-17 22:09:14 +08:00
由gopath形式改为module
This commit is contained in:
8
legend/utils/dateTime.go
Normal file
8
legend/utils/dateTime.go
Normal file
@@ -0,0 +1,8 @@
|
||||
package utils
|
||||
|
||||
import "time"
|
||||
|
||||
func GetNowTime() string {
|
||||
t := time.Now().Format("2006-01-02 15:04:05")
|
||||
return t
|
||||
}
|
68
legend/utils/encryption.go
Normal file
68
legend/utils/encryption.go
Normal file
@@ -0,0 +1,68 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"crypto"
|
||||
"crypto/md5"
|
||||
"crypto/rand"
|
||||
"crypto/rsa"
|
||||
"crypto/x509"
|
||||
"encoding/base64"
|
||||
"encoding/hex"
|
||||
"encoding/pem"
|
||||
"strings"
|
||||
)
|
||||
|
||||
//type Encrypt struct{}
|
||||
|
||||
func EncodeMd5(str string) string {
|
||||
hash := md5.New()
|
||||
buf := []byte(str)
|
||||
hash.Write(buf)
|
||||
|
||||
return hex.EncodeToString(hash.Sum(nil))
|
||||
}
|
||||
|
||||
//base64编码
|
||||
func Base64Encode(raw []byte) string {
|
||||
t := base64.StdEncoding.EncodeToString(raw)
|
||||
t = strings.TrimSpace(t)
|
||||
t = strings.Replace(t, "\r", "", -1)
|
||||
t = strings.Replace(t, "\n", "", -1)
|
||||
t = strings.Replace(t, "\n\r", "", -1)
|
||||
t = strings.Replace(t, "\r\n", "", -1)
|
||||
return t
|
||||
}
|
||||
|
||||
func getMd5() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
//base64解码
|
||||
func Base64Decode(raw string) ([]byte, error) {
|
||||
return base64.StdEncoding.DecodeString(raw)
|
||||
}
|
||||
|
||||
//SHA1withRSA签名
|
||||
func SHA1withRSA(context string) string {
|
||||
|
||||
_, block := pem.Decode([]byte(`-----BEGIN RSA PRIVATE KEY-----
|
||||
MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAIYmcOHeAztObFnQX+qIf/e7/7BtFtYaaijNN1P59GQmPm0R8XE4s8afvX/r5eBjX9muJ51x/8PaXzw05vjoHDhJnGLeABtuem3PNgg+vfk09HrA4yhDfqU6GJPKOWF6ko3DprEDFUijC6lKJFOhsF7vQu8ZnYsCeuBpQmetfG1ZAgMBAAECgYBIPhlaOXIqFQCamXGd3uZzJgX7H7RFlrIGyQT7r0biTAogOKJ6Y5vE4i9t3T7NSRbMJlJlIognE8lnpeGgt3bCPYisxsYd6Eo9YA6stzNmE9Pwy5gPi6F+qhBFkbbjETP0XF/PzRLZnRGKMPAQHufbA/qpQYsWsrGAn7wKCnL+0QJBAL8kKw2tdpThcFzEOHjvCCkcDd0wUf8mqXz+TqNgzvCKfUv+PIyfETF6Gd+mrh4o2PLqBM53xGv45nraXFL3n+UCQQCzq6LjOfSDTuPatPlYAMsWNA/1zfUApzRijLKfY7+Ek6BEVJ/NuYR0jlLAP3JiNsUhEw/LAO0GsJtuHXcAC3hlAkEAgIyml/BNjBuCIiGliU/ZQSyo9lWFEADEhFfUM3TsOEIrumwl9L0WJxxjQlMrTwVRwy04RlOuOp+PApjQ9surMQJAQAzIxZ5Md17xRW9MkD3AKEspAWSJmdEBkLw9lSqXBKkn8hQE3+7ptC9keppjqXWC8tZ7w8+xr7fXwPqKCJ8OLQJBAJmxZnpUp5lKYiHyiNGXrPukleyUJ4BoLiF0/gvt+TTg1YQ/nkK+V/3YurAabyUh878hasRzjSW9ZL8B94aj4kc=
|
||||
-----END RSA PRIVATE KEY-----`))
|
||||
if block == nil {
|
||||
panic("私钥错误")
|
||||
}
|
||||
|
||||
private, err := x509.ParsePKCS8PrivateKey(block) //之前看java demo中使用的是pkcs8
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
h := crypto.Hash.New(crypto.SHA1) //进行SHA1的散列
|
||||
h.Write([]byte(context))
|
||||
hashed := h.Sum(nil)
|
||||
|
||||
// 进行rsa加密签名
|
||||
signedData, err := rsa.SignPKCS1v15(rand.Reader, private.(*rsa.PrivateKey), crypto.SHA1, hashed)
|
||||
|
||||
data := base64.StdEncoding.EncodeToString(signedData)
|
||||
return data
|
||||
}
|
Reference in New Issue
Block a user