Tôi cần triển khai mã hóa/giải mã AES 256 và tôi không thể tìm thấy ví dụ hoạt động chính xác.C# Ví dụ về mã hóa AES256 bằng System.Security.Cryptography.Aes
MSDN cho thấy rằng tôi nên sử dụng lớp AES.
Lớp Rijndael là tiền thân của thuật toán Aes. Bạn nên sử dụng thuật toán Aes thay vì Rijndael. Để biết thêm thông tin, hãy xem mục nhập The Differences Between Rijndael and AES trong blog Bảo mật .NET.
Bất kỳ ai có thể chỉ cho tôi theo hướng ví dụ tốt bằng cách sử dụng lớp AES cho AES256?
Để thêm một chút rõ ràng hơn:
Tôi có một tập tin mật mã có chứa chìa khóa chia sẻ và một chuỗi văn bản được mã hóa. Tôi cần phải giải mã văn bản và sau đó xác nhận nó.
Tất cả các ví dụ tôi đã thấy mong đợi ít nhất 2 tham số để thực hiện mã hóa/giải mã.
Tôi có thể suy ra vectơ khởi tạo và khóa từ văn bản trong tệp mã hóa không?
Đây là một ví dụ về văn bản tổ chức trong tập tin mật mã của tôi:
EUA ± Ira ƒ @ † ²; A; öDWnªóª ©© ¨|L
Các tài liệu cho cả hai [AesManaged] (http://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged .aspx) và [AesCryptoServiceProvider] (http://msdn.microsoft.com/en-us/library/system.security.cryptography.aescryptoserviceprovider.aspx) lớp cung cấp các ví dụ phức tạp. Nếu các ví dụ không hoạt động theo cách bạn mong đợi, vui lòng đăng một chương trình ngắn nhưng đầy đủ để chứng minh sự cố. – dtb
@dtb Cảm ơn. Tôi đã không phát hiện ví dụ trong AesManaged vì điều này chỉ có sẵn cho .Net 4 và tôi hiện đang sử dụng 3.5 nhưng ví dụ trông thẳng về phía trước. – TeamWild
Để giải mã dữ liệu, bạn cần phải biết chế độ mã hóa trực tiếp ban đầu được mã hóa với (thường là CBC hoặc ECB). ECB không có vector khởi tạo. Nếu CBC được sử dụng, thì một vài byte đầu tiên của dữ liệu được mã hóa có thể là IV. Vui lòng cung cấp tất cả thông tin bạn có và gửi mẫu hoàn chỉnh hợp lệ (dữ liệu kez và mã hóa). Vì dữ liệu được mã hóa là nhị phân, bạn sẽ phải đăng nó mã hóa Base 64 hoặc trong một biểu diễn hệ thập lục phân. – Codo