Нет, вам не нужно экранировать или очищать данные, которые вы передаете в качестве пользовательского ввода для этих функций. Они принимают произвольные последовательности байтов, поэтому любая произвольная последовательность байтов, которую вы передаете, приемлема, и вследствие этого не должно возникать угроз безопасности. Как правило, криптографические алгоритмы работают с произвольными последовательностями байтов (возможно, определенного размера) и не требуют стандартного экранирования или очистки для обеспечения безопасности (хотя они могут потребовать заполнения, диапазона или других типов проверок), а системы, использующие данные, могут потребовать это.
Однако, если вы принимаете пароли, содержащие символы, отличные от ASCII, вы, вероятно, захотите выполнить некоторую нормализацию Unicode для строки (вероятно, NFC), поскольку часто существует несколько способов выражения одного и того же логического символа. Например, вы можете выразить "é" как одну кодовую точку (U+00E9) или как две кодовые точки (U+0065 U+0301), и нормализация перепишет их в одну и ту же строку. Опять же, здесь нет проблем с безопасностью, но поскольку пользователи будут думать об этих двух паролях как об одном и том же, когда они имеют разные последовательности байтов, выполнение нормализации позволяет вашей системе также думать о них как об одном и том же пароле.