Only calculate fingerprints if not already done for this run
Use Set to track which keys were set in the current run