Password to key function compatível com comandos OpenSSL?

Por exemplo, o comando:

openssl enc -aes-256-cbc -a -in test.txt -k pinkrhino -nosalt -p -out openssl_output.txt

produz algo como:

key = 33D890D33F91D52FC9B405A0DDA65336C3C4B557A3D79FE69AB674BE82C5C3D2
iv  = 677C95C475C0E057B739750748608A49

Como é gerada essa chave? (O código C como resposta seria incrível demais para pedir :)) Além disso, como o iv é gerado?

Parece algum tipo de azaração para mim.

questionAnswers(8)

yourAnswerToTheQuestion