Bạn có thể thực hiện HMAC của tệp bằng cách sử dụng khóa AES làm đầu vào cho HMAC.
Mã hóa tệp bằng bất kỳ thuật toán AES nào bạn muốn (trong ví dụ này -aes-256-cbc); tạo khóa AES dựa trên mật khẩu (thay đổi "mật khẩu" thành mật khẩu của bạn) và sử dụng công tắc -p để đổ muối, khóa và iv được sử dụng để mã hóa.
openssl enc -e -k password -p -aes-256-cbc -in plaintext -out ciphertext
salt=A2402067B9BFD4A1
key=EB3A88115C30F26C3987F1AB2577DF5B58C80EBEEA623506517FAD843C64E1FC
iv =B382453BCBF579CE14C0726D343F40E2
Tạo một HMAC của bất kỳ đối tượng/file sử dụng một thuật toán hash của bạn lựa chọn và phím AES đã được sử dụng để mã hóa các tập tin:
openssl dgst -hmac EB3A88115C30F26C3987F1AB2577DF5B58C80EBEEA623506517FAD843C64E1FC -sha256 ciphertext
HMAC-SHA256(ciphertext)= fa3fb9c9c743f35ba81793e2704c3fc9737cd2675011110cb1655ea7ceed2914
Ghi phím AES để sử dụng sau này nếu bạn cần xác minh HMAC. Lưu ý rằng tôi không biết những gì bạn đang cố gắng thực hiện và tôi không thể yêu cầu các yêu cầu mã hóa ở trên, nhưng nó cho thấy cách mã hóa một tệp, lấy khóa mã hóa và sử dụng khóa mã hóa đó trong tính toán HMAC.
Có lẽ tôi đã bỏ lỡ câu hỏi ban đầu của mình; Tôi cần MAC của một văn bản mã hóa AES. Điều này có mang lại cảm giác mã hóa hơn không? Tôi tin rằng MAC của AES chỉ là khối được mã hóa cuối cùng, phải không? – Ryan
@Ryan: Tôi đã thêm một số thông tin về CBC-MAC. Hy vọng nó giúp. Nếu đó không phải là những gì bạn có nghĩa là một trong hai, có lẽ bạn có thể cung cấp cho nền tảng hơn về lý do tại sao bạn cần phải tính toán này AES MAC. Đây có phải là một phần của giao thức nổi tiếng không? Bạn sẽ làm gì với nó khi bạn tính toán nó? Thông tin cơ bản rộng hơn có thể giúp người khác nhảy vào và cung cấp câu trả lời. – indiv
Đây là * chính xác * những gì tôi cần. Rất cám ơn indiv !!!! – Ryan