Crates.io | botan |
lib.rs | botan |
version | 0.12.0 |
created_at | 2018-07-19 14:55:50.150121+00 |
updated_at | 2025-08-05 22:53:35.226796+00 |
description | Rust wrapper for Botan cryptography library |
homepage | https://botan.randombit.net/ |
repository | https://github.com/randombit/botan-rs |
max_upload_size | |
id | 75062 |
size | 239,775 |
This crate wraps the C API exposed by the Botan cryptography library.
Currently the crate exposes ciphers, hashes, MACs, KDFs, password based key derivation (PBKDF2, Scrypt, Argon2, etc), bcrypt password hashes, random number generators, X.509 certificates, format preserving encryption, HOTP/TOTP, NIST key wrapping, multiprecision integers, and the usual public key algorithms (RSA, ECDSA, ECDH, DH, ...)
PRs and comments/issues happily accepted.
The Minimum Supported Rust Version (MSRV) of this crate is Rust 1.64.0.
Any future increase in the MSRV will be accompanied by increasing the minor version number.
The latest version of Botan3 is highly recomended for best security and performance. At least 2.13.0 is required.
The following features are supported:
std
(enabled by default): Enable using std library features. If
disabled then the crates are no_std
, however support for alloc
is still required.vendored
: Build a copy of the C++ library directly, without
relying on a system installed version.static
: Enable static linking for a non-vendored, externally
provided Botan dependency.pkg-config
: Enable finding a non-vendored, externally provided
Botan with pkg-config. Can be used in combination with static
.The crate detects at build time what features are exported from the C interface,
and adjusts itself accordingly. These feature sets can be checked using
#[cfg(botan_ffi_YYYYMMDD)]
where YYYYMMDD can be any of