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 10 namespace syncer { 11 12 class 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