zap.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
158190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger// Copyright (c) 2011 The Chromium Authors. All rights reserved. 258190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger// Use of this source code is governed by a BSD-style license that can be 358190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger// found in the LICENSE file. 458190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger 558190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger#ifndef NET_BASE_ZAP_H_ 658190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger#define NET_BASE_ZAP_H_ 758190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger 858190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger#include <string> 958190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger#include "base/string16.h" 1058190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger 1158190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergernamespace net { 1258190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger 1358190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger// Zap functions are used to clear sensitive data in RAM to minimize the 1458190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger// time that people can access them once they are written to disk. 1558190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger 1658190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger// Overwrite a buffer with 0's. 1758190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergervoid ZapBuf(void* buf, size_t buf_len); 1858190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger 1958190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger// Overwrite a string's internal buffer with 0's. 2058190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergervoid ZapString(std::string* s); 2158190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger 2258190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger// Overwrite a string16's internal buffer with 0's. 2358190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenbergervoid ZapString(string16* s); 2458190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger 2558190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger} // net 2658190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger 2758190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger#endif // NET_BASE_ZAP_H_ 2858190644c30e1c4aa8e527f3503c58f841e0fcf3Derek Sollenberger