Ces deux locutions nominales en forme d'idiotismes animaliers appartiennent au registre familier.
Et elles désignent, au sens figuré : un mauvais caractère, un caractère difficile ; qui se fâche facilement.
On dit par exemple : "Mon patron a un caractère de chien mais c'est un excellent professionnel".
Ou : "La fille de ma voisine est jolie comme tout, mais elle a un caractère de cochon".
On dit également "Avoir une humeur de chien" ou "Avoir une humeur de dogue".
Source : wiktionary.org