| Index: base/sha1_portable.cc
|
| diff --git a/base/sha1_portable.cc b/base/sha1_portable.cc
|
| index cc05a5c91f0601ac0fbe651df7f76a3398fef862..529fc905b7a84d882e3c9fef96b5063a69f6c61a 100644
|
| --- a/base/sha1_portable.cc
|
| +++ b/base/sha1_portable.cc
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "base/sha1.h"
|
|
|
| +#include <string.h>
|
| +
|
| #include "base/basictypes.h"
|
|
|
| namespace base {
|
| @@ -195,12 +197,19 @@ void SecureHashAlgorithm::Process() {
|
| }
|
|
|
| std::string SHA1HashString(const std::string& str) {
|
| + char hash[SecureHashAlgorithm::kDigestSizeBytes];
|
| + SHA1HashBytes(reinterpret_cast<const unsigned char*>(str.c_str()),
|
| + str.length(), reinterpret_cast<unsigned char*>(hash));
|
| + return std::string(hash, SecureHashAlgorithm::kDigestSizeBytes);
|
| +}
|
| +
|
| +void SHA1HashBytes(const unsigned char* data, size_t len,
|
| + unsigned char* hash) {
|
| SecureHashAlgorithm sha;
|
| - sha.Update(str.c_str(), str.length());
|
| + sha.Update(data, len);
|
| sha.Final();
|
| - std::string out(reinterpret_cast<const char*>(sha.Digest()),
|
| - SecureHashAlgorithm::kDigestSizeBytes);
|
| - return out;
|
| +
|
| + memcpy(hash, sha.Digest(), SecureHashAlgorithm::kDigestSizeBytes);
|
| }
|
|
|
| } // namespace base
|
|
|