una chiave primaria ha lo scopo di indicizzare col minimo costo una tabella, se al posto di un int metti un md5 togli questa prerogativa. inoltre mentre un auto_increment ti cresce sempre ed è quindi automaticamente unico, un md5 non ti da questa certezza.
usa due campi diversi per i due diversi scopi! divide et impera