cuốn sách gpt4 ai đã làm

Lỗi mã hóa file bằng Botan và Qt

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 07:55:06 26 4
mua khóa gpt4 Nike

Tôi đang cố gắng sử dụng "Botan" để mã hóa và giải mã các tập tin (AES 256). Việc tích hợp thư viện trong Qt đã hoàn tất thành công. Tôi đã làm theo rất nhiều ví dụ tôi tìm thấy trên Internet, như hướng dẫnNhưng tôi nhận được những điều sau đây

lỗi: 
lớp Botan::S2K' không có thành viên nào có tên 'set_iterations'

Tôi phát hiện ra rằng phiên bản Botan dùng để tạo hướng dẫn đã lỗi thời và phiên bản tôi đang sử dụng (1.10.5) không tương thích.

我的问题是:
Tôi có thể tìm phiên bản mới của hướng dẫn ở đâu? Nếu nó không tồn tại, tôi có thể tải xuống trình cài đặt windows cho phiên bản trước (1.8 hoặc 1.9) ở đâu?

Đây là mã của tôi cho đến nay: (được mã hóa)

tập tin chuỗi = "...";
chuỗi fileEncrypted = "...";

Botan::LibraryInitializer init;

cụm mật khẩu chuỗi = "mật khẩu";
Autoseeded_RNG rng;
S2K* s2k = get_s2k("PBKDF2(SHA-256)");
s2k->set_iterations(4049);

SecureVector key_and_IV = s2k->derive_key(48, cụm mật khẩu).bits_of();
Khóa SymmetricKey(key_and_IV, 32);
Khởi tạoVector iv(key_and_IV +32, 16);

std::ifstream in(file, std::ios::binary);
std::ofstream out(fileEncrypted, std::ios::binary);

Ống ống(get_cipher("AES-256/CBC", key, iv,ENCRYPTION),DataSink_Stream(out) mới);
pipe.start_msg();
trong >> ống;
pipe.end_msg();

câu trả lời hay nhất

Bạn có thể bắt đầu từ đây Đã có phiên bản 1.9 nhưng tôi e rằng bạn đang gặp phải hai vấn đề với phiên bản mới:

  • get_s2k() Không được dùng nữa, bạn nên sử dụng thay thế get_pbkdf().

  • Khi sử dụng PBKDF thay vì S2k không còn được dùng nữa, bạn có thể chuyển số lần lặp cho extract_key trong phiên bản thay vì đặt số lần lặp bằng phương thức trình biến đổi.

Ví dụ, hãy xem ví dụ về mã hóa2 của họ:

...
PKCS5_PBKDF2 pbkdf2(HMAC mới (SHA_160 mới));

const u32bit PBKDF2_ITEATIONS = 8192;

SecureVector muối(8);
rng.randomize(&salt[0], salt.size());

SecureVector master_key = pbkdf2.derive_key(48, cụm mật khẩu,
&salt[0], salt.size(),
PBKDF2_ITEATIONS).bits_of()
...

Khi bạn nhận được bản phát hành và giải nén nó, bạn có thể tài liệu/ví dụ Xem thêm ví dụ trong thư mục để biết chi tiết.

Về c++ - Lỗi mã hóa tệp bằng Botan và Qt, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/20874177/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress