// Copyright (c) 2012 The Chromium Authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.#ifndef CRYPTO_SHA2_H_#define CRYPTO_SHA2_H_#include <string>#include "base/strings/string_piece.h"#include "crypto/crypto_export.h"namespacecrypto{// These functions perform SHA-256 operations.//// Functions for SHA-384 and SHA-512 can be added when the need arises.staticconstsize_tkSHA256Length=32;// Length in bytes of a SHA-256 hash.// Computes the SHA-256 hash of the input string 'str' and stores the first// 'len' bytes of the hash in the output buffer 'output'. If 'len' > 32,// only 32 bytes (the full hash) are stored in the 'output' buffer.CRYPTO_EXPORTvoidSHA256HashString(constbase::StringPiece&str,void*output,size_tlen);// Convenience version of the above that returns the result in a 32-byte// string.CRYPTO_EXPORTstd::stringSHA256HashString(constbase::StringPiece&str);}// namespace crypto#endif // CRYPTO_SHA2_H_