Register now and start sharing your code snippets.
-->

Generate a 56-bit DES encrypted (htpasswd) password with Ruby

CSS posted 12 months ago by christian

Run the following in an irb console to generate a 56-bit DES encrypted password:

   1  "password".crypt("salt")

The password can be used in an Apache or Nginx htpasswd file to enable basic authentication.

The generated password can also be used in other Unix password files.

Tagged ruby, irb, htpasswd, nginx, apache

Password protecting a folder/resource with Nginx

Shell Script (Bash) posted 12 months ago by christian

First add the following to your Nginx configuration file:

   1  location / {
   2    auth_basic            "Restricted";
   3    auth_basic_user_file  /etc/nginx/htpasswd;
   4  }

Then create the htpasswd file:

   1  # this be passwords
   2  thisbetheusername:thisbeencryptedpass:yercomment

To generate a htpasswd password without installing Apache you can use the following Perl or Ruby code:

Perl

   1  perl -le 'print crypt("password", "salt")'

Ruby (run in irb)

   1  "password".crypt("salt")

The crypt() method uses 56-bit DES encryption, which is used in /etc/passwd and htpasswd.

Tagged perl, ruby, nginx, auth_basic, htpasswd