15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "components/password_manager/core/browser/login_database.h" 6a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 7a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "base/strings/string_util.h" 8a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "components/os_crypt/os_crypt.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochnamespace password_manager { 11c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 1268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)LoginDatabase::EncryptionResult LoginDatabase::EncryptedString( 13a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) const base::string16& plain_text, 1468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) std::string* cipher_text) const { 15a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) if (OSCrypt::EncryptString16(plain_text, cipher_text)) 1668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) return ENCRYPTION_RESULT_SUCCESS; 1768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) return ENCRYPTION_RESULT_ITEM_FAILURE; 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)LoginDatabase::EncryptionResult LoginDatabase::DecryptedString( 2168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) const std::string& cipher_text, 22a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) base::string16* plain_text) const { 23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) if (OSCrypt::DecryptString16(cipher_text, plain_text)) 2468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) return ENCRYPTION_RESULT_SUCCESS; 2568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) return ENCRYPTION_RESULT_ITEM_FAILURE; 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 27c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 28c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch} // namespace password_manager 29