1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef SYNC_UTIL_ENCRYPTOR_H_
6#define SYNC_UTIL_ENCRYPTOR_H_
7
8#include <string>
9
10namespace syncer {
11
12class Encryptor {
13 public:
14  // All methods below should be thread-safe.
15  virtual bool EncryptString(const std::string& plaintext,
16                             std::string* ciphertext) = 0;
17
18  virtual bool DecryptString(const std::string& ciphertext,
19                             std::string* plaintext) = 0;
20
21 protected:
22  virtual ~Encryptor() {}
23};
24
25}  // namespace syncer
26
27#endif  // SYNC_UTIL_ENCRYPTOR_H_
28