Skip to content

Commit 33f6720

Browse files
authored
Merge pull request #29 from PandaTechAM/development
overload added
2 parents 03d6c6d + 1ebeb38 commit 33f6720

File tree

3 files changed

+27
-2
lines changed

3 files changed

+27
-2
lines changed

src/Pandatech.Crypto/Helpers/Sha2.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ public static byte[] ComputeHmacSha256(byte[] key, params string[] messages)
1313
return hmac.ComputeHash(concatenatedMessage);
1414
}
1515

16+
public static byte[] ComputeHmacSha256(string key, params string[] messages)
17+
{
18+
var keyBytes = Encoding.UTF8.GetBytes(key);
19+
return ComputeHmacSha256(keyBytes, messages);
20+
}
21+
1622
public static string GetHmacSha256Hex(byte[] key, params string[] messages)
1723
{
1824
var hash = ComputeHmacSha256(key, messages);

src/Pandatech.Crypto/Pandatech.Crypto.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
<Copyright>MIT</Copyright>
99
<PackageIcon>pandatech.png</PackageIcon>
1010
<PackageReadmeFile>Readme.md</PackageReadmeFile>
11-
<Version>4.1.0</Version>
11+
<Version>4.1.1</Version>
1212
<Title>Pandatech.Crypto</Title>
1313
<PackageTags>Pandatech, library, encryption, hash, algorythms, security</PackageTags>
1414
<Description>PandaTech.Crypto is a .NET library simplifying common cryptograhic functions.</Description>
1515
<RepositoryUrl>https://github.com/PandaTechAM/be-lib-pandatech-crypto</RepositoryUrl>
16-
<PackageReleaseNotes>Extension changed from WebApplication to WebApplicationBuilder</PackageReleaseNotes>
16+
<PackageReleaseNotes>Added overload</PackageReleaseNotes>
1717
</PropertyGroup>
1818

1919
<ItemGroup>

test/Pandatech.Crypto.Tests/Sha2Tests.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,25 @@ public void HmacSha256_ValidInput_ReturnsExpectedHash()
2222
// Assert
2323
Assert.Equal(expectedHashHex, hashHex);
2424
}
25+
26+
[Fact]
27+
public void HmacSha256_ValidInput_ReturnsExpectedHash2()
28+
{
29+
// Arrange
30+
var key = "secret"u8.ToArray();
31+
var messages = new[]
32+
{
33+
"Hello",
34+
"World"
35+
};
36+
const string expectedHashHex = "LpFhK7crKdgvMnidBj3mLViXpO5dO100RZgBuUOXsJk=";
37+
38+
// Act
39+
var hashHex = Sha2.GetHmacSha256Base64(key, messages);
40+
41+
// Assert
42+
Assert.Equal(expectedHashHex, hashHex);
43+
}
2544

2645
[Fact]
2746
public void HmacSha256_EmptyMessage_ReturnsHash()

0 commit comments

Comments
 (0)