| Index: chrome/browser/managed_mode/managed_user_passphrase.h
|
| diff --git a/chrome/browser/managed_mode/managed_user_passphrase.h b/chrome/browser/managed_mode/managed_user_passphrase.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e7e24015ee8a5c83bae88743f534e84684c96a4e
|
| --- /dev/null
|
| +++ b/chrome/browser/managed_mode/managed_user_passphrase.h
|
| @@ -0,0 +1,38 @@
|
| +// 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 CHROME_BROWSER_MANAGED_MODE_MANAGED_USER_PASSPHRASE_H_
|
| +#define CHROME_BROWSER_MANAGED_MODE_MANAGED_USER_PASSPHRASE_H_
|
| +
|
| +#include <string>
|
| +
|
| +#include "base/basictypes.h"
|
| +
|
| +// This class can be used to derive a hash of a provided passphrase. When an
|
| +// empty salt is given as parameter to the constructor, a new salt is
|
| +// generated randomly, which can be accessed through the |GetSalt| method.
|
| +class ManagedUserPassphrase {
|
| + public:
|
| + explicit ManagedUserPassphrase(const std::string& salt);
|
| + ~ManagedUserPassphrase();
|
| +
|
| + std::string GetSalt();
|
| +
|
| + // This function generates a hash from a passphrase, which should be provided
|
| + // as the first parameter. On return, the second parameter will contain the
|
| + // Base64-encoded hash of the password.
|
| + void GenerateHashFromPassphrase(const std::string& passphrase,
|
| + std::string* encoded_passphrase_hash) const;
|
| +
|
| + private:
|
| + void GetPassphraseHash(const std::string& passphrase,
|
| + std::string* passphrase_hash) const;
|
| + void GenerateRandomSalt();
|
| +
|
| + std::string salt_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(ManagedUserPassphrase);
|
| +};
|
| +
|
| +#endif // CHROME_BROWSER_MANAGED_MODE_MANAGED_USER_PASSPHRASE_H_
|
|
|