Question: I have a login and sign up form and use the encrypt library to encrypt the password.. I am using Xampp for my server and my system works correctly..

code to encrypt the password:

```
$this->encrypt->encode('my password'); 

```

add encrypt library 

```
 $autoload['libraries'] = array('encrypt');

```

and setting the secret key in config:

```
$config['encryption_key'] = 'nmsc encrypt secret key';

```

My code works well using xampp server in windows but when Im trying to upload my website to ubuntu server I've got an error says 

> 
> The Encrypt library requires the Mcrypt extension
> 
> 
> 

how to fix that problem? refering this guide <https://www.codeigniter.com/user_guide/libraries/encryption.html> but I dont know how to install that mcrypt. my website needs to run from ubuntu server. how to install or fix that problem?

Answer: 
For php 7.2 version & Ubuntu system below commands works for me -

```
sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install php7.2-dev
sudo apt-get -y install libmcrypt-dev
pecl install mcrypt-1.0.1

```

Then it will shows a message that "You should add extension for mcrypt in php.ini"

```
extension=mcrypt.so

```

and restart the apache server

```
service apache2 restart
or
systemctl restart apache2

```
with php 7 and above mcrypt need not to be loaded manually so both of the solution will work.

1. `$this->load->library('encrypt');`
change to
`$this->load->library('encrypt');`
2. Just remove encrypt from autoload

`$autoload['libraries'] = array('database','session','upload','form_validation','encrypt','pagination');`

Change to

`$autoload['libraries'] = array('database','session','upload','form_validation','encrypt','pagination');`