Tôi đang tìm cách triển khai yêu cầu đăng ký HMACSHA256 trong API tôi đang xây dựng. Từ những gì tôi hiểu được từ https://tools.ietf.org/html/rfc4868, tốt nhất là khóa bí mật có cùng số bit như thuật toán băm (tức là các khóa bí mật SHA256 phải là 256 bit/32 byte).Tạo khóa HMACSHA256 mạnh trong C#
Tôi có thể sử dụng một trong nhiều trình tạo số ngẫu nhiên khác nhau ở đó cho C# hoặc có cách nào cụ thể là các khóa này cần phải được tạo.
Cuối cùng, Amazon Web Services sử dụng HMACSHA256, nhưng khóa bí mật mà họ cung cấp (ít nhất là với tôi) là 320 bit/40 byte (khi khóa được chuyển đổi thành byte bằng UTF-8, xem https://github.com/aws/aws-sdk-net/blob/master/AWSSDK/Amazon.Runtime/Internal/Auth/AWS4Signer.cs#L205-L232). Có một lý do để sử dụng nhiều hơn cần thiết bởi các thuật toán băm kể từ khi nó cắt ngắn?
Base64 không giống với Hex, IE tên biến của bạn gây hiểu nhầm. – Peter
@Peter, cảm ơn vì đã chỉ ra điều đó, tôi đã sửa đổi tên biến. – Omar