Ben ça dépend de ce que tu cherches à faire avec ta fonction de chiffrement ensuite.
La cryptologie se repose UNIQUEMENT sur le secret de la méthode utilisée pour chiffrer et déchiffrer, ce qui comprend l'algorithme, la clé, le salt, l'IV, les tables de substitution s'il y en a, les sous-clés, l'état du PRNG... bref, tout ce qui entre dans les procédés de chiffrement et de déchiffrement.
Si tous sont laissés en clair, la sécurité est nulle.
Par conséquent, ces différentes valeurs sont soit stockées en clair, généralement non pas dans le code, mais dans un fichier de configuration à côté de façon à pouvoir éventuellement les modifier sans avoir à modifier le programme, voire les supprimer pour des raisons de sécurité, soit pour la plupart générées en direct, et échangées entre les interlocuteurs par un maximum de moyens différents, de façon à ce que la probabilité d'interception de toutes ces valeurs soit la plus basse possible. Cela permet également d'avoir des valeurs qui changent tout le temps, et de limiter les attaques, car si elles sont découvertes, elles changeront de toute façon à la prochaine opération. Et évidemment, seule une trace en mémoire est conservée, et celle-ci ne tient que tant que l'application est toujours lancée.
Reste ensuite à savoir où peut se trouver l'attaquant.
S'il s'agit de sécuriser une communication, alors il faut échanger les clés par un autre moyen que par cette communication. S'il s'agit de protéger un système par un mot de passe, il faut que ce mot de passe soit uniquement connu de ceux qui y ont accès, et que le système ne garde que des traces minimales permettant tout au plus d'effectuer une corrélation, mais sans conserver le mot de passe en clair de façon à empêcher quiconque de le récupérer. S'il s'agit de chiffrer un fichier, tous les moyens de déchiffrement doivent être uniquement connus du propriétaire du fichier et absolument aucune trace, hormis l'algorithme évidemment, ne doit rester.
Apparemment tu veux chiffrer des fichiers, mais reste à savoir pourquoi tu veux le faire, qui est susceptible de casser le chiffrement, quelle est l'importance des données chiffrées... car chaque méthode correspond à un but bien précis, et il ne suffit pas d'appliquer un algorithme pour que ce soit sécurisé