Есть онлайн-генераторы (например,
этот) или
FontForge. Там все интуитивно понятно.
Только не надо делать type=text, это не безопасно, используйте type=password, просто укажите для него шрифт, в котором заменены нужные символы (не только звездочка, в разных браузерах по-разному). И если что-то пойдет не так - будут стандартные для браузера звездочки/кружочки.
Любые варианты с JS - однозначно нет. Вообще, разработчков, модифицирующих содержимое инпутов на лету - гнать ссаными тряпками из профессии. Инпут должен работать только read-only.