Esempio n. 1
0
   void WalletDb::change_password( const fc::sha512& old_password,
                                    const fc::sha512& new_password )
   { try {
      FC_ASSERT( is_open() ,"Wallet not open!");
      const ExtendedPrivateKey master_private_key = wallet_master_key->decrypt_key( old_password );
      set_master_key( master_private_key, new_password );

      for( auto key : keys )
      {
         if( key.second.has_private_key() )
         {
            auto priv_key = key.second.decrypt_private_key( old_password );
            key.second.encrypt_private_key( new_password, priv_key );
            store_and_reload_entry( key.second, true );
         }
      }
   } FC_CAPTURE_AND_RETHROW() }
Esempio n. 2
0
   void wallet_db::change_password( const fc::sha512& old_password,
                                    const fc::sha512& new_password )
   { try {
      FC_ASSERT( wallet_master_key );
      auto old_key = get_master_key( old_password );
      FC_ASSERT( old_key, "unable to change password because old password was invalid" );
      set_master_key( *old_key, new_password );

      for( auto key : keys )
      {
         if( key.second.has_private_key() )
         {
            auto priv_key = key.second.decrypt_private_key( old_password );
            key.second.encrypt_private_key( new_password, priv_key );
            store_record( key.second, true );
         }
      }
   } FC_CAPTURE_AND_RETHROW() }