2024-06-19 18:32:34 +08:00
|
|
|
|
package cmd
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"fmt"
|
|
|
|
|
"qteam/app/utils/postbank"
|
|
|
|
|
"testing"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
merchantId = "lansexiongdi666"
|
|
|
|
|
// 模块名称 服开门户网站-文档中心-API文档-接口方法业务前缀
|
|
|
|
|
// 此处默认为普通接口取数币服务模块名称 ecny 文件接口这里传ufile
|
|
|
|
|
moduleName = "ecny"
|
|
|
|
|
// appID 服开门户网站-用户中心-我的应用-APP_ID
|
|
|
|
|
appID = "961925472724332544001"
|
|
|
|
|
// url 协议 + 定版ip:端口号 + 接口方法业务前缀 + 合作方编号 + 接口地址后缀 + 合作方交易流水号(工具类生成)
|
|
|
|
|
url = "http://220.248.252.123:8443/sop-h5/biz/${moduleName}/${merchantId}.htm?partnerTxSriNo=${partnerTxSriNo}"
|
|
|
|
|
// h5token h5申请token的url 协议 + 定版ip:端口号 + 接口地址业务前缀 + 合作方编号 + 合作方交易流水号(工具类生成)
|
|
|
|
|
h5token = "http://220.248.252.123:8443/sop-h5/h5/authToken/apply/${merchantId}?partnerTxSriNo=${partnerTxSriNo}"
|
|
|
|
|
// 合作方私钥
|
|
|
|
|
privateKey = "7FE05FEB81673ABF0AC4F9EEB99FB03BFE7BE432CA474CB9AAD8E302CAF00766"
|
|
|
|
|
// 合作方公钥
|
|
|
|
|
publicKey = "0432F7E91033AC40472885B11EB673B1DE942FD555E95CD12E799CC50DD9E93B04A6AC254D725C22DCBD65436D97A46727B09FFFA1B1098EEA8D43F79AAB84F5B1"
|
|
|
|
|
// 服开与合作方配对公钥 服开门户网站-用户中心-公钥配置-平台生产公钥
|
|
|
|
|
sopPublicKey = "041F63D23554FC1F5A36D43ABD0DE368A202849BCC03BEB34E7EF4F8C478E12F5529DB649B7C2C2DB5F55B4DC89A6EC83A8226218B7D931638DBFC4B344C628C33"
|
|
|
|
|
// sopPrivateKey 服开与合作方配对私钥 服开门户网站-用户中心-私钥配置-平台生产私钥
|
|
|
|
|
sopPrivateKey = "174AB6AB44FF23A6B65934B54E9D94B00A81D0D50D57DB0C38257E2AFB2D6C35"
|
|
|
|
|
// 文件上传接口
|
|
|
|
|
// fileUrl = http://220.248.252.123:8443/sop-h5/biz/ufile/upload/接口名/接口版本/合作方编号/appID/流水号
|
|
|
|
|
fileUrl = "http://220.248.252.123:8443/sop-h5/biz/ufile/upload/${method}/${version}/${merchantId}/${appID}/${partnerTxSriNo}"
|
|
|
|
|
// 解码格式 如果文件下载时解析出来的报文乱码,请改变解码格式
|
|
|
|
|
charsetName = "gbk"
|
|
|
|
|
m_id = "lansexiongdi666"
|
|
|
|
|
pri = "7FE05FEB81673ABF0AC4F9EEB99FB03BFE7BE432CA474CB9AAD8E302CAF00766"
|
|
|
|
|
msoapub = "04A3C235C15070E127679628FE024E6C77FFCB1840B4EFBE09D19CBE0EE69BEA231912943984D34C03989771E503DFBB4ECB186F4BBC27764109E63C2875005C81"
|
|
|
|
|
soapb = "0432F7E91033AC40472885B11EB673B1DE942FD555E95CD12E799CC50DD9E93B04A6AC254D725C22DCBD65436D97A46727B09FFFA1B1098EEA8D43F79AAB84F5B1"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// TestSm4Decrypt test sm4 decrypt
|
|
|
|
|
func TestSm4Decrypt(t *testing.T) {
|
|
|
|
|
//respJson := "{\n\t\"accessToken\": \"C0A3853384EA0443C2942FF1A1B0757D\",\n\t\"encryptKey\": \"04F15C783C14DBD91DE13696BFCDAA4523F2D6CABB610A8BA809D7224234E53422EA4143ED6C3BD92CB9745A0330142E94C7F6EB36B5601A133F9E7E8C42E18C693BC975AD245EF14FDA9734523F407B7561CC390883D8D45C35DD8E3575970BFD75554EB9119F4A18B65EC5F3AB37D866\",\n\t\"request\": \"JBKuG9pmsYwLgFPJL5nFci9jEgX9M60ebFK8lNteJqJZgZZEF7Sg7+qabTq7AOhHN/u9a+O4Zv8e\\r\\nIncXNC9sFPKOrqRJaMmAZTrDCwD3VhDt/maMn9lQbdkXaqMwo4S1iYiqoni5riS/8ivbFqz4sQvv\\r\\nPoiyIaQCMkqAAEkFxL6aSlPGY7f7kdLHK6cpixT3h2H1coMPuCQrG1J7jnbe+IlPJiVOKn5Hchus\\r\\n4TnHAuH/y9/8W9sW2tILApqm0MUpNxkor3qkAEqkbhciuJJDp/lDqebcJeRt2UET6UtTFTECYEWR\\r\\nNPfQCHKQxMWWserd/wCcWMx8ePPK/UKqUW8Rpg6hncKcC8b0U5i0z3MFuKJscz/DAS/X6Vex9kUp\\r\\njvy5c+ahm/rx0y5pTkNKP9KzVTFE6SffyA3E5NR+6fIQ9VvOU1A/YPiBhCvLF/dCodUk\",\n\t\"signature\": \"60bd9f1bb4a234acf4c8789f048151cbd688538b8f02d2cf87cdd74309c346e6#6aaaad738d9c10b3aaf85c86b5134d95b4d815dc017b43bc9e5e012243eb26f6\"\n}" // 解析接到的请求
|
2024-06-25 10:12:48 +08:00
|
|
|
|
respJson := "{\"encryptKey\":\"049F886DAD6DBD4B3E0705475FB7D486EB3F89A3F776FB576C5299AC974880E9E3E8213DC06A24A1F87E0063A0E382E820406CE5BC82B4C7BAF0727A4A95F0332FCB0A98F5364C23D735536C797EF63067317961113DB1B26CD5E66D22E2D4CAAF2643B5C512F179B2BE774736AF117ED4\",\"response\":\"c/ymW03TsJ3s083Cb9px6SlxhouBj77odyuuugXQnjh+BTnZxsrh+2gnG+sU7cQGyrfINIp7fTKL\\nAFxfq7WcUf0hxB3ubTmf+HmOcyF1M6zjTlu1DAw06t1VTbeKW9ZNQ8qEeJl2yGHFbT4qegOip0Qd\\nDemWUlv3WDvWmNi0KJi7bEHfP186CMzk2lrLEEcOxtADyGpqnSI7Rxf1Y49X3zTMJdaBpLXR6HRa\\nUfuBkVum2VnueA8wcvouwav/nHGQ/nzzIVt4CZAY05R77Ck3CuDdG0hRZhCSNz8he0BaTjkBWdyz\\nh2y+fOuoie7+m964YRvAa+yjuGe+yMiQQ5BL5MCb4ZljyVFaCfqDs77WKym+ZNP2jeLhSzxKrvkW\\nZzpjKCRi0Z/kXa0seTpBjj8inlsyQXYRUaKukuR3znHvoSc=\",\"signature\":\"b1335068cbaaae4879ae416c5c0b6dae12a131da5a268306653e1e48145439d7#6f7f7e9c244e68db1ff3a989c16f5fb8fb9988754fb52b145f7f2093c3ff4ae0\"}"
|
2024-06-19 18:32:34 +08:00
|
|
|
|
reqMsg, err := postbank.Decrypt(merchantId, privateKey, sopPublicKey, respJson, true)
|
|
|
|
|
fmt.Println(reqMsg, err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestSm4Encrypt(t *testing.T) {
|
|
|
|
|
input := "{\"body\":{\"voucher_id\":\"1708321361154\",\"voucher_code\":\"AAABt6wYMDBjNf25\",\"short_url\":\"http://test.22233.cn/AAABt6wYMDBjNf25\",\"voucher_sdate\":\"20240219\",\"voucher_edate\":\"20240331\",\"code_type\":\"00\"},\"header\":{\"partnerTxSriNo\":\"\",\"method\":\"\",\"version\":\"1\",\"merchantId\":\"YANWEI001\",\"appID\":\"YANWEI00001\",\"respTime\":\"20240301141359\"}}"
|
|
|
|
|
res, err := postbank.Encrypt(merchantId, privateKey, sopPublicKey, input, "", true)
|
|
|
|
|
fmt.Println(res, err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func EN() string {
|
|
|
|
|
input := "{\"head\":\"{\"appID\":\"PSBC\",\"merchantId\":\"lansexiongdi666\",\"method\":\"points.elecCoupRece\",\"partnerTxSriNo\":\"202406131805225935940667\",\"reqTime\":\"20240613180522\",\"version\":\"1\"}\",\"body\":\"{\"acName\":\"2024年二季度新客开卡礼营销活动\",\"orderNo\":\"20240613001534531\",\"merNo\":\"1000000004\",\"acCode\":\"202403HK110052930016\",\"num\":\"1\",\"svcNo\":\"YCTZBZS0004\",\"transSeq\":\"99360000007202406131805227108867\"}\"}"
|
|
|
|
|
res, _ := postbank.Encrypt(merchantId, sopPrivateKey, publicKey, input, "", true)
|
|
|
|
|
return res
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestGenerateKey(t *testing.T) {
|
|
|
|
|
hexPri, publicKeyHex := postbank.GenerateKey()
|
|
|
|
|
fmt.Println(hexPri, publicKeyHex)
|
|
|
|
|
}
|