Puedes usar una biblioteca de Python. En mi sistema Fedora hice:
sudo dnf search bcrypt
(el sudo es solo para evitar el desperdicio de espacio para un caché dnf de usuario) y del resultado se puede ver que hay un paquete Python2 y Python3:
py-bcrypt.x86_64 : Python bindings for OpenBSD's Blowfish password hashing code
python3-py-bcrypt.x86_64 : Python 3 bindings for OpenBSD's Blowfish password hashing code
Instale la versión de Python2 y enumere los archivos en el paquete:
sudo dnf install py-bcrypt.x86_64
rpm -ql py-bcrypt.x86_64
Esto muestra que hay un archivo /usr/lib64/python2.7/site-packages/bcrypt/__init__.py
para que pueda obtener la documentación con
pydoc bcrypt
Esto me muestra lo suficiente como para escribir el siguiente comando que picará la cadena "password"
:
$ python -c 'import bcrypt; print(bcrypt.hashpw("password", bcrypt.gensalt(log_rounds=10)))'
$2a$10$vWFRZgbOx6RKOKYxCTtyWuMJM60E90Vdm/.0nj.X/o3dYUxvQ/2Dm
Para versiones posteriores de bcrypt
uso en rounds=
lugar de log_rounds=
.