This is an automated email from the ASF dual-hosted git repository.

aaronai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-clients.git


The following commit(s) were added to refs/heads/master by this push:
     new 01deef87 csharp: Add using to wrap HMACSHA1 instance (#582)
01deef87 is described below

commit 01deef87db1d20ef31d53e338a61312c28e6c6f0
Author: Catcher Wong <[email protected]>
AuthorDate: Fri Aug 4 06:48:36 2023 +0000

    csharp: Add using to wrap HMACSHA1 instance (#582)
    
    * csharp: Add using for HMACSHA1
    
    Signed-off-by: catcherwong <[email protected]>
    
    * fix dotnet-format error
    
    Signed-off-by: catcherwong <[email protected]>
    
    ---------
    
    Signed-off-by: catcherwong <[email protected]>
---
 csharp/rocketmq-client-csharp/Signature.cs | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/csharp/rocketmq-client-csharp/Signature.cs 
b/csharp/rocketmq-client-csharp/Signature.cs
index 0572a062..ea701d16 100644
--- a/csharp/rocketmq-client-csharp/Signature.cs
+++ b/csharp/rocketmq-client-csharp/Signature.cs
@@ -59,15 +59,17 @@ namespace Org.Apache.Rocketmq
 
             var secretData = Encoding.ASCII.GetBytes(credentials.AccessSecret);
             var data = Encoding.ASCII.GetBytes(time);
-            var signer = new HMACSHA1(secretData);
-            var digest = signer.ComputeHash(data);
-            var hmac = BitConverter.ToString(digest).Replace("-", "");
-            var authorization = $"{MetadataConstants.AlgorithmKey} " +
-                                
$"{MetadataConstants.CredentialKey}={credentials.AccessKey}, " +
-                                
$"{MetadataConstants.SignedHeadersKey}={MetadataConstants.DateTimeKey}, " +
-                                $"{MetadataConstants.SignatureKey}={hmac}";
-            dictionary.Add(MetadataConstants.Authorization, authorization);
-            return dictionary;
+            using (var signer = new HMACSHA1(secretData))
+            {
+                var digest = signer.ComputeHash(data);
+                var hmac = BitConverter.ToString(digest).Replace("-", "");
+                var authorization = $"{MetadataConstants.AlgorithmKey} " +
+                                    
$"{MetadataConstants.CredentialKey}={credentials.AccessKey}, " +
+                                    
$"{MetadataConstants.SignedHeadersKey}={MetadataConstants.DateTimeKey}, " +
+                                    $"{MetadataConstants.SignatureKey}={hmac}";
+                dictionary.Add(MetadataConstants.Authorization, authorization);
+                return dictionary;
+            }
         }
     }
 }
\ No newline at end of file

Reply via email to