tencent cloud

腾讯云超级应用服务

超级应用平台签名验签

PDF
聚焦模式
字号
最后更新时间: 2025-12-05 22:47:30

签名方式

基于 AES ECB 加密后进行16进制编码的字符串

签名参数

密钥参考 配置管理 中的SecretKey

示例

func TestGenerateSignature(t *testing.T) {
// test data
secretKey := "MBMIvsoijBSTqLPoCHYinLXKvlaCKfev"
timestamp := fmt.Sprintf("%v", time.Now().UnixMilli())
encryptBytes, err := EncryptECB([]byte(timestamp), []byte(secretKey))
if err != nil {
fmt.Println(err)
}
signature := hex.EncodeToString(encryptBytes)
fmt.Println(signature)
}

func EncryptECB(plaintext, secretKey []byte) ([]byte, error) {

block, err := aes.NewCipher(secretKey)
if err != nil {
return nil, errors.Errorf("Error: NewCipher(%d bytes) = %s", len(secretKey), err)
}
padded := PKCS7Padding(plaintext, block.BlockSize())
ciphertext := make([]byte, len(padded))

for bs, be := 0, block.BlockSize(); bs < len(padded); bs, be = bs+block.BlockSize(), be+block.BlockSize() {
block.Encrypt(ciphertext[bs:be], padded[bs:be])
}

return ciphertext, nil
}
func PKCS7Padding(ciphertext []byte, blockSize int) []byte {
padding := blockSize - len(ciphertext)%blockSize
padtext := bytes.Repeat([]byte{byte(padding)}, padding)
return append(ciphertext, padtext...)
}


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈