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

c++ - Độ dài chuỗi không chính xác sau khi mã hóa Blowfish

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 16:30:54 26 4
mua khóa gpt4 Nike

Tôi đã thực hiện một số thử nghiệm bằng cách sử dụng mã hóa Blowfish và phát hiện ra điều gì đó. Chuỗi được mã hóa không phải lúc nào cũng dài bằng chuỗi nguồn. Đôi khi ngắn hơn.

Nếu tôi muốn giải mã chuỗi được mã hóa, tôi cần giải mã độ dài trong hàm openssl:

BF_cfb64_encrypt(encoded_input,decoded_output,length_to_decode,&key,iv,&num,BF_DECRYPT);    

Vấn đề ở đây là nếu tôi không biết độ dài của chuỗi nguồn thì tôi không cóđộ dài_to_decode. Nếu tôi sử dụng độ dài của chuỗi được giải mã là length_to_decode thì chuỗi này có thể quá ngắn.

Nếu tôi sử dụng độ dài lớn hơn thì chuỗi được giải mã sẽ không chính xác. Vậy tôi có cần biết độ dài để giải mã bằng mã hóa Blowfish không?

Trong tất cả các mã mẫu trên internet, việc mã hóa và giải mã luôn được thực hiện trong một hàm và các ví dụ giải mã sử dụng độ dài được mã hóa cứng để giải mã. Nhưng ngoài đời tôi không biết độ dài của chuỗi được mã hóa thì sao?

Đây là một ví dụ:

chuỗi nguồn: sdcfgsssssss
chiều dài nguồn: 13
khóa mã hóa: s
đầu ra được mã hóa: :‹(
chiều dài được mã hóa: 4

Tôi khởi tạo khóa của mình như thế này:

phím BF_KEY;
const char * keyStr = "s";
BF_set_key(&key, strlen(keyStr), (const unsigned char *)keyStr);

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

Độ dài của đầu ra bằng với độ dài của đầu vào. Lưu ý dữ liệu đầu ra có thể chứa các ký tự NUL nên bạn không nên sử dụng căng thẳng.

Về c++ - Độ dài chuỗi không chính xác sau khi mã hóa Blowfish, 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/7078255/

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