diff --git a/FitConnect/FluentSubscriber.cs b/FitConnect/FluentSubscriber.cs index ee3aa49858a21cdc5d63bd200535b4ba4c000b8e..b628dbe028b2203b19ba10dc9a6361fa482a5e5f 100644 --- a/FitConnect/FluentSubscriber.cs +++ b/FitConnect/FluentSubscriber.cs @@ -1,5 +1,6 @@ using System.Buffers.Text; using System.Security.Authentication; +using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; using FitConnect.Models; using FitConnect.Services; @@ -107,8 +108,12 @@ public class FluentSubscriber : Subscriber, IFluentApi<FluentSubscriber> { var encryptedAttachment = SubmissionService.GetAttachment(Submission.Id, id); var content = Encryption.DecryptData(Convert.FromBase64String(encryptedAttachment)); - // TODO Where to get the HASH from? - attachments.Add(new Attachment(id, content, "HASH")); + + // TODO where do I get the hash from the server to verify the attachment? + var hash = MD5.Create(HashAlgorithmName.SHA512.ToString())?.ComputeHash(content) ?? + Array.Empty<byte>(); + + attachments.Add(new Attachment(id, content, Convert.ToBase64String(hash), "dummy.pdf")); } Submission.Attachments = attachments; diff --git a/FitConnect/Models/Attachment.cs b/FitConnect/Models/Attachment.cs index d432c10594ec0b1d0494defa118bbf19064d4d16..2c1e5da5761e07a7d46931324df81c8fc778d1f0 100644 --- a/FitConnect/Models/Attachment.cs +++ b/FitConnect/Models/Attachment.cs @@ -1,3 +1,3 @@ namespace FitConnect.Models; -public record Attachment(string Id, byte[] Content, string Hash); +public record Attachment(string Id, byte[] Content, string Hash, string Filename);