Cuál es la forma más segura de almacenar una contraseña con Code Igniter?

Estoy usando Code Igniter para mi proyecto actual.

A partir de ahora, estoy usando MD5 para el hashing de contraseñas, pero he leído en muchos lugares, que no es una buena práctica hacerlo.

¿Con qué debo ir?

Usando unsa O debería usar bcrypt

También si bcrypt se recomienda, entonces, ¿cómo usarlo con Code Igniter?

EDITA

He puesto estos archivos enapplication/libraries

PasswordHash.php c / Makefile c / crypt_private.c

En mi controlador, estoy usando este código -

$params = array(
       'phpass_hash_strength' => 8,
           'phpass_hash_portable' => FALSE
       );
$this->load->library('PasswordHash', $params);
$password = $this->passwordhash->HashPassword($pwd);

Recibo estos errores -

A PHP Error was encountered

Severity: Notice

Message: Uninitialized string offset: 3

Filename: libraries/PasswordHash.php

Line Number: 116
A PHP Error was encountered

Severity: Warning

Message: strpos() [function.strpos]: Empty delimiter

Filename: libraries/PasswordHash.php

Line Number: 116
Actualiza

RemovedPasswordHash.php, utilizando SimpleLoginSecure ahora

Respuestas a la pregunta(3)

Su respuesta a la pregunta