OPENSSL-PASSWD(1ossl)
π NAME π
openssl-passwd β bestie, this is literally the command that computes password hashes β¨
π SYNOPSIS π
openssl passwd [-help] [-1] [-apr1] [-aixmd5] [-5] [-6] [-salt string]
[-in file] [-stdin] [-noverify] [-quiet] [-table] [-reverse] [-rand
files] [-writerand file] [-provider name] [-provider-path path]
[-provparam [name:]key=value] [-propquery propq] [password]
ok the manual name is OPENSSL-PASSWD(1ossl) β that's the whole title, section 1 of the OpenSSL fam, iykyk π«Ά
πΈ DESCRIPTION πΈ
So here's the vibe: this command takes a password and gives you back its hash π₯. You can either type one password at run-time (the main character way), or hand it a whole list of passwords and it'll hash each one for you.
Where does that password list come from? Pick your fighter:
- the file you name with
-in stdin, if you pass-stdin- the command line, or
- the terminal β literally otherwise π
β¨ OPTIONS β¨
-helpβ prints out a usage message, the classic "wait what were the flags again" move π-1β use the MD5 based BSD password algorithm 1. This is the default, no cap π-apr1β use theapr1algorithm (that's the Apache variant of the BSD algorithm, slay)-aixmd5β use the AIX MD5 algorithm (AIX's own variant of the BSD algorithm, she's got range π )-5,-6β use the SHA256 / SHA512 based algorithms defined by Ulrich Drepper. See <https://www.akkadia.org/drepper/SHA-crypt.txt> π-salt stringβ use the salt you specify π§. Heads up: when you're reading a password from the terminal, this option implies-noverify-in fileβ read passwords from file π-stdinβ read passwords from stdin, pipe gang represent π-noverifyβ don't verify when reading a password from the terminal (so it won't ask you to type it twice, we live π«Ά)-quietβ don't output warnings when passwords given at the command line get truncated π€«-tableβ in the output list, prepend the cleartext password AND a TAB character to each password hash π-reverseβ when-tableis used, flip the order of cleartext and hash π-rand files,-writerand fileβ check "Random State Options" inopenssl(1)for the deets β¨-provider name,-provider-path path,-provparam [name:]key=value,-propquery propqβ check "Provider Options" inopenssl(1),provider(7), andproperty(7)π
π¦ EXAMPLES π¦
Ok these are the actual examples, copy them exactly bestie, don't freestyle π
% openssl passwd -1 -salt xxxxxxxx password
$1$xxxxxxxx$UYCIxa628.9qXjpQCjM4a.
% openssl passwd -apr1 -salt xxxxxxxx password
$apr1$xxxxxxxx$dxHfLAsjHkDRmG83UXe8K0
% openssl passwd -aixmd5 -salt xxxxxxxx password
xxxxxxxx$8Oaipk/GPKhC64w/YVeFD/
π HISTORY π
Not me having to report this: the -crypt option was π« removed π« in OpenSSL 3.0. Gone. RIP to a real one π
π COPYRIGHT π
Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.
and that's the whole page, bestie πβ¨ β signed off from version 3.5.0, dated 2026-09-25, manual OPENSSL-PASSWD(1ossl). go forth and hash responsibly π
π
π¦ where this page comes from
- opensuse-leap 16.0: openssl-3 3.5.0-160000.11.1 Β· Apache-2.0
- opensuse-leap 16.0: openssl-3 3.5.0-160000.11.1 Β· Apache-2.0
- opensuse-leap 16.0: openssl-3 3.5.0-160000.11.1 Β· Apache-2.0
- opensuse-leap 16.0: openssl-3 3.5.0-160000.11.1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms