Dr. Bacon, и? Практически все криптографические функции практически во всех ЯП работают с байтами, а не со строками. По тому логичнее, кмк, сохранять результат в bytea, а не в varchar/text.
Dr. Bacon, в джанге строка только из-за того что разрабы захотели всё в одну колонку сохранить. Технически это никак не оправдано.
Ну мб ради совместимости, тк мб не все СУБД имеют байтовые строки как тип данных.
Хэш закодированный в виде hex или base64 строки занимает больше места, чем он же в виде байтов.
Пароль обычно обрабатывают. Добавляют некую символьную последовательность которая будет уникальна для данного приложения (salt) например abcxyz123. Это предотвращает подбор тривиальных хешей. После этого парольная фраза хешируется функцией (например) SHA-256. На выходе битовая последовательность - длиной 256 бит или в binhex кодировании (4 бита на символ) 64 символа. Вот эти символы можно вписать уже в текстовое поле типа text или varchar(64).