00001 #ifndef SECRET_STRING_CLASS 00002 #define SECRET_STRING_CLASS 00003 00004 /*****************************************************************************\ 00005 * * 00006 * Name : secret_string * 00007 * Author : Chris Koeritz * 00008 * * 00009 ******************************************************************************* 00010 * Copyright (c) 2004-$now By Author. This program is free software; you can * 00011 * redistribute it and/or modify it under the terms of the GNU General Public * 00012 * License as published by the Free Software Foundation; either version 2 of * 00013 * the License or (at your option) any later version. This is online at: * 00014 * http://www.fsf.org/copyleft/gpl.html * 00015 * Please send any updates to: fred@gruntose.com * 00016 \*****************************************************************************/ 00017 00018 #include "crypto_dll.h" 00019 00020 #include <basis/object_base.h> 00021 00022 // forward. 00023 class ice_key; 00024 00026 00032 class CRYPTO_CLASS_STYLE secret_string 00033 { 00034 public: 00035 secret_string(const byte_array &key); 00037 00038 virtual ~secret_string(); 00039 00040 IMPLEMENT_CLASS_NAME("secret_string"); 00041 00042 bool valid() const { return _valid; } 00044 00045 istring encrypt_string(const istring &to_encrypt); 00047 00050 istring decrypt_string(const istring &to_decrypt); 00052 00055 private: 00056 ice_key *_encryptor; 00057 bool _valid; 00058 }; 00059 00060 #endif 00061
1.5.1