2010-09-07 46 views
6

Cho đến giờ tôi đã xem qua BotanCrypto++ cả hai đều cung cấp mã hóa có thể đảo ngược (ví dụ: AES) và không thể đảo ngược (ví dụ: SHA). Tôi tự hỏi nếu có ai có thể giới thiệu một trong hai, hoặc cái gì khác?Thư viện mã hóa miễn phí C++

+5

SHA là ** không ** một mã hóa (hoặc mật mã) thuật toán: đó là một phương pháp băm. – ereOn

+0

xin lỗi, tôi không thể nghĩ ra một từ nào để mô tả cả hai. Nhưng có, tôi đã biết –

+0

SHA là họ của "hàm băm crytographical". Đó là lý do tại sao bạn tìm thấy nó trong một thư viện mật mã. – MSalters

Trả lời

8

OpenSSL có tất cả các chức năng mà bạn mong đợi và nó thường được cài đặt (ít nhất là trên Linux).

Nó hỗ trợ mã hóa không đối xứng/đối xứng, chữ ký số và thuật toán băm. Ví dụ: bạn có thể sử dụng API OpenSSL EVP cấp cao để mã hóa đối xứng.

+0

+1, và bên cạnh đó tôi nên chỉ ra rằng đối với những thứ có thể, OpenSSL được coi là * tiêu chuẩn *. Ngoài ra, tùy thuộc vào lĩnh vực của bạn, nếu bạn cần trải qua một cuộc kiểm toán hay thứ gì đó như vậy, OpenSSL như một thứ được công nhận và được đánh giá cao sẽ không gây ra bất kỳ vấn đề nào, nhưng một số thư viện tinh vi khác mà bạn tải xuống từ một máy chủ ẩn danh có thể một cây gậy trong bánh xe của kiểm toán viên. – AviD

+0

Không phải (ví dụ) SHA-256 SHA-256 bất kể việc triển khai - đó là định thức để bạn có thể kiểm tra nó. –

+0

@John: Ngay cả khi đó là cùng một thuật toán với cùng kết quả (kiểm tra), việc triển khai có thể khác nhau. Đôi khi, việc triển khai thuật toán mã hóa (tham chiếu) bị thiếu sót và dễ bị tấn công. AviD có nghĩa là một thư viện hơi ổn định hơn như OpenSSL sẽ giảm thiểu những rủi ro như vậy. – AndiDog

2

tôi sử dụng để sử dụng libtomcrypt cho CPP dù bằng văn bản trong tinh khiết C.
Nó !, khổng lồ có nghĩa là nó có nhỏ, mạnh mẽ và đơn giản thực hiện API của hầu hết các Cyphers và băm xuống đó.
Nó không phải trên GPL để bạn có thể sử dụng nó trong các dự án khép kín.

3

Google có thư viện rất thú vị: KeyCzar.

Quan tâm:

  • Simple API (Tôi đã sử dụng Crypto ++, và nó có thể là mạnh mẽ ... nhưng những gì một rắc rối!)
  • phím xoay và phiên bản (bạn có ý định làm cho các phím của bạn phát triển, phải không?)
  • Mặc định an toàn !!

Thành thật mà nói, 3 điểm đó là những gì tôi nghĩ là những cân nhắc quan trọng nhất khi bạn biết việc triển khai là âm thanh. Đặc biệt đối với những người không phải là chuyên gia mật mã.

0

Tôi mơ hồ nhớ sử dụng xyssl. Cung cấp một liên kết trực tiếp. link text

0

Ngoài ra bạn có thể sử dụng thư viện poco, cho biết thêm chi tiết chuyến thăm www.pocoproject.org

Các vấn đề liên quan