Có ai biết về một thói quen MD5/SHA1/etc có thể dễ dàng sử dụng với GLib (nghĩa là bạn có thể cho nó kênh GIOChannel, v.v ...) không?Các thói quen MD5 thân thiện với GL5?
6
A
Trả lời
6
Trừ khi bạn có một lý do rất tốt, sử dụng lém lỉnh tích hợp trong MD5, SHA1, SHA256 và triển khai với GChecksum
. Nó không có một hàm dựng sẵn để xây dựng một checksum từ một luồng IO, nhưng bạn có thể viết một cái đơn giản trong 10 dòng, và bạn cũng cần viết một cái phức tạp.
2
Bạn thường phải làm thư viện keo thứ cho mình ...
void get_channel_md5(GIOChannel* channel, unsigned char output[16])
{
md5_context ctx;
gint64 fileSize = <get file size somehow?>;
gint64 filePos = 0ll;
gsize bufferSize = g_io_channel_get_buffer_size(channel);
void* buffer = malloc(bufferSize);
md5_starts(&ctx);
// hash buffer at a time:
while (filePos < fileSize)
{
gint64 size = fileSize - filePos;
if (size > bufferSize)
size = bufferSize;
g_io_channel_read(channel, buffer);
md5_update(&ctx, buffer, (int)size);
filePos += bufferSize;
}
free(buffer);
md5_finish(&ctx, output);
}
Các vấn đề liên quan
- 1. Phá vỡ thói quen junkie tapply
- 2. Quicksort Python - List comprehension vs Recursion (thói quen phân vùng)
- 3. Một thư viện tệp thân thiện với TDD thân thiện với môi trường IO
- 4. Bạn có thể gợi ý thói quen học tập nào?
- 5. Vẽ Canvas - Làm cách nào để tôi có thể Cải thiện thói quen Vẽ Bản alpha này?
- 6. Javascript OnClick thân thiện với trình duyệt?
- 7. Giải pháp NoSQL thân thiện với PHP
- 8. php: SEO thân thiện với url
- 9. Url thân thiện với SEO trong Yii
- 10. Cần một thói quen để phát hiện các chuỗi tương tự nhưng không giống nhau
- 11. Tự động thêm/xóa các thói quen vào một diễn viên bộ định tuyến
- 12. Trả về các đối tượng lỗi trong thói quen xấu của PHP?
- 13. Tại sao hiệu quả tương đối của các thói quen này trong Mathematica?
- 14. công cụ tìm kiếm thân thiện với lập trình viên?
- 15. Thân thiện với SEO là URL Unicode như thế nào?
- 16. Giấy phép nguồn mở thân thiện với công ty
- 17. URL thân thiện cho một WebService với CherryPy
- 18. Cách chọn múi giờ thân thiện với người dùng hơn?
- 19. Tên hay cho "Tiêu đề thân thiện với URL"?
- 20. Nhà phát triển thân thiện với hệ thống ERP
- 21. các công cụ để tạo lời nhắc dòng lệnh thân thiện với người dùng?
- 22. Làm cách nào để tạo các url thân thiện với SEO trong ASP.Net-MVC
- 23. sử dụng .htaccess cho url thân thiện
- 24. Thư viện Dependency Inject (DI) "thân thiện"
- 25. AJAX có thực sự thân thiện với SEO không?
- 26. cache phương pháp thân thiện với nhân hai ma trận
- 27. Triển khai R-tree Java thân thiện với thương mại?
- 28. Phân tích ngày thành định dạng thân thiện với Rails
- 29. Làm cách nào để tạo URL thân thiện với .htaccess?
- 30. Thông báo ValidatorError tùy chỉnh (thân thiện với người dùng)