#include <stdint.h>
#include <memory>
#include "base/containers/span.h"
#include "components/webcrypto/algorithm_implementation.h"
#include "components/webcrypto/algorithms/secret_key_util.h"
#include "components/webcrypto/algorithms/util.h"
#include "components/webcrypto/blink_key_handle.h"
#include "components/webcrypto/status.h"
#include "crypto/openssl_util.h"
#include "third_party/blink/public/platform/web_crypto_algorithm_params.h"
#include "third_party/blink/public/platform/web_crypto_key_algorithm.h"
#include "third_party/boringssl/src/include/openssl/evp.h"
namespace webcrypto {
namespace {
const blink::WebCryptoKeyUsageMask kAllKeyUsages = …;
class Pbkdf2Implementation : public AlgorithmImplementation { … };
}
std::unique_ptr<AlgorithmImplementation> CreatePbkdf2Implementation() { … }
}