package cmb import ( "encoding/base64" "testing" ) func TestGenerateSm2Key(t *testing.T) { got, got1 := GenerateSm2Key() t.Log("SM2私钥:", got, len(got)) t.Log("SM2公钥:", got1, len(got1)) smbPrk := "a9106d11232db8ea5071c47c5f73c88668225438e61c1f81804016db75fac223" cmbPuk := "04a702106cf530dc981e44cd515b394747cfd6bb059247696b188b25281ea4278fe7c6e34a83680110eec71becd31f5db14abc671e5d8e67ce7ca3c6b3adc86674" t.Log("SM2私钥:", smbPrk, len(smbPrk)) t.Log("SM2公钥:", cmbPuk, len(cmbPuk)) } func TestEncrypt(t *testing.T) { pukKey := "04a702106cf530dc981e44cd515b394747cfd6bb059247696b188b25281ea4278fe7c6e34a83680110eec71becd31f5db14abc671e5d8e67ce7ca3c6b3adc86674" content := `{"name":"zhangxx","phoneNo":"137xxxxxxxx"}` base64Content := base64.StdEncoding.EncodeToString([]byte(content)) xx, err := encrypt(pukKey, base64Content) t.Log(xx, err) } func TestDecrypt(t *testing.T) { priKey := "9450c673cf801164435b9c164ac1404e87997245bc6f323fde22015875a03f6e" content := "BHeko/ZYFzQOJn6Q3y46X1AjNz8Nh5fq1FfMuWebh+TangLnlK5iFqePCst4rjG/FKJInijiKO2Qq18sJULlMEEgri05s+bHHDKM+Y+73crAbCnIhHbZxUjt8A0cq2rKjzkl8bxW33dU18uuiTEAmsAvKvmZgE6zJ1eDyjFWefHEIFJaKCNY2cTQOInt|8UYFZFTkx0DovPhaWCbdBkAqbgGmegT14F5gwXLJ6G1uWdYNvX+i5QWAYUGtd8u9" base64Content := base64.StdEncoding.EncodeToString([]byte(content)) xx, err := decrypt(priKey, base64Content) t.Log(xx, err) } func TestEncryptDecrypt(t *testing.T) { priKey := "9450c673cf801164435b9c164ac1404e87997245bc6f323fde22015875a03f6e" pukKey := "04a702106cf530dc981e44cd515b394747cfd6bb059247696b188b25281ea4278fe7c6e34a83680110eec71becd31f5db14abc671e5d8e67ce7ca3c6b3adc86674" content := `{"name":"zhangxx","phoneNo":"137xxxxxxxx"}` base64EncryptContent := base64.StdEncoding.EncodeToString([]byte(content)) xx, err := encrypt(pukKey, base64EncryptContent) if err != nil { t.Log(err) return } t.Log(xx) base64DecryptContent := base64.StdEncoding.EncodeToString([]byte(xx)) aa, err := decrypt(priKey, base64DecryptContent) if err != nil { t.Log(err) return } t.Log(aa) } func TestSign(t *testing.T) { priKey := "E2C0860DAB46D3D2DBEF846450A1356B1F39E32F74770C165625E6822B2322F9" content := "accessToken.json?aid=9dad6d3900ec3ffabd80e46522a10ead&cmbKeyAlias=SM2_CMBLIFE&date=20240314091628&encryptBody=BNhquiza494xicGIOvE7G5jLr7nhQI6Tp4V5j3a+3P98oD+uUKVXAPXt+ae3GsDvs+FyOaqoNSzdYsSqNDW3rA1AFUbsljTI9EaWMB+FAHpZ3Wjn6Qyl8EzJpUIbCnqAIOWjr2hDsexJd+NPVxQwNqq9W66lC/PBC4/1/QCz+87Yq8b4hHx7bP2u5h95|YwTJn3uKMQfhDSuJKIx3hyFZcoLm9M2xKnVDmNLPq5PbGedoZY/4g1Z/sKk8cWzH&keyAlias=CO_PUB_KEY_SM2&mid=f806c259d86e3b9aa956c98d475b6af7&random=320bcb8c8cf7419e98d562439bdb3baa" base64Content := base64.StdEncoding.EncodeToString([]byte(content)) xx, err := sign(priKey, base64Content) t.Log(xx, err) } func TestVerify(t *testing.T) { priKey := "046E358B0EF1A12BEF28DF261DEF7FB7840037D9A1F5F6097DC8D5F8B036796558DA301220EB12C152FF3EC0B0A47DBAD9FA256446B070923B7CD17A6BAEAA45D7" content := "accessToken.json?aid=9dad6d3900ec3ffabd80e46522a10ead&cmbKeyAlias=SM2_CMBLIFE&date=20240314091628&encryptBody=BNhquiza494xicGIOvE7G5jLr7nhQI6Tp4V5j3a+3P98oD+uUKVXAPXt+ae3GsDvs+FyOaqoNSzdYsSqNDW3rA1AFUbsljTI9EaWMB+FAHpZ3Wjn6Qyl8EzJpUIbCnqAIOWjr2hDsexJd+NPVxQwNqq9W66lC/PBC4/1/QCz+87Yq8b4hHx7bP2u5h95|YwTJn3uKMQfhDSuJKIx3hyFZcoLm9M2xKnVDmNLPq5PbGedoZY/4g1Z/sKk8cWzH&keyAlias=CO_PUB_KEY_SM2&mid=f806c259d86e3b9aa956c98d475b6af7&random=320bcb8c8cf7419e98d562439bdb3baa" signDataBase64 := "MEQCIBI78ahUGpq7vE2pi48d79vUIKqld4jbPiCSg/UwZwv9AiB+d6DmFpPoGsRFUeY9pJd0fKujsXa8h8/wjEBoptd1Kg==" base64Content := base64.StdEncoding.EncodeToString([]byte(content)) xx, err := verify(priKey, base64Content, signDataBase64) t.Log(xx, err) }