My view is your secrets should be secure even if the attacker knows everything about how they are generated and used.
For example:
My password is 8192 characters long, leveraging only the ASCII character set (except \n\r\t\0)
It is changed every 28days at 11:05am
It is only used on exactly 1 website and the username on that website is also only used on that website and randomly generated as well.
Good luck (Tell me how and where I can make this stronger)