Comecei a aprender sobre segurança no Linux e a ler alguns artigos sobre hash de senha MD5.
Esta demonstração do Godbolt usa a função crypt
char *crypt(const char *key, const char *salt);
e passa esse salt
valor
const char *salt = "$1$rockyou";
onde
$1$
é MD5rockyou
é o sal.
Pergunta
Suponha que o salt contenha um $
símbolo, como rock$you
, como ele deve ser formatado antes de passá-lo para crypt ?
Você não pode usar
$
no sal. Da documentação que você vinculou:$
não está nesse conjunto porque é usado como delimitador entresalt
eencrypted
.