mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-07-17 19:37:35 +08:00
38 lines
1.8 KiB
C#
38 lines
1.8 KiB
C#
![]() |
using Xunit;
|
|||
|
|
|||
|
namespace SKIT.FlurlHttpClient.Wechat.Api.UnitTests
|
|||
|
{
|
|||
|
using SKIT.FlurlHttpClient.Primitives;
|
|||
|
|
|||
|
public class TestCase_ToolsSM4UtilityTests
|
|||
|
{
|
|||
|
[Fact(DisplayName = "测试用例:SM4-GCM 加密")]
|
|||
|
public void TestSM4GCMEncrypt()
|
|||
|
{
|
|||
|
string key = "b302fd4719dd2652";
|
|||
|
string nonce = "b302fd4719dd";
|
|||
|
string aad = "26523d555e6fe392b91a";
|
|||
|
string plainText = "Awesome SKIT.FlurlHttpClient.Wechat.Api!";
|
|||
|
|
|||
|
string actualPlain = Utilities.SM4Utility.EncryptWithGCM(encodingKey: new EncodedString(key, EncodingKinds.Literal), encodingNonce: new EncodedString(nonce, EncodingKinds.Literal), encodingAssociatedData: new EncodedString(aad, EncodingKinds.Literal), plainData: plainText)!;
|
|||
|
string expectedPlain = "FqW9TkELJ5soXCSksDvqNvvBIge3rRrJAc8FP8tGaQqIHx2BljkSIfXn3miUL2FBnkpBCJ96V88=";
|
|||
|
|
|||
|
Assert.Equal(expectedPlain, actualPlain);
|
|||
|
}
|
|||
|
|
|||
|
[Fact(DisplayName = "测试用例:SM4-GCM 解密")]
|
|||
|
public void TestSM4GCMDecrypt()
|
|||
|
{
|
|||
|
string key = "b302fd4719dd2652";
|
|||
|
string nonce = "b302fd4719dd";
|
|||
|
string aad = "26523d555e6fe392b91a";
|
|||
|
string cipherText = "FqW9TkELJ5soXCSksDvqNvvBIge3rRrJAc8FP8tGaQqIHx2BljkSIfXn3miUL2FBnkpBCJ96V88=";
|
|||
|
|
|||
|
string actualPlain = Utilities.SM4Utility.DecryptWithGCM(encodingKey: new EncodedString(key, EncodingKinds.Literal), encodingNonce: new EncodedString(nonce, EncodingKinds.Literal), encodingAssociatedData: new EncodedString(aad, EncodingKinds.Literal), encodingCipher: new EncodedString(cipherText, EncodingKinds.Base64))!;
|
|||
|
string expectedPlain = "Awesome SKIT.FlurlHttpClient.Wechat.Api!";
|
|||
|
|
|||
|
Assert.Equal(expectedPlain, actualPlain);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|