OPENSSL-PASSWD(1ossl)

πŸ’– OPENSSL-PASSWD(1ossl) β€” the manual page, but make it make sense πŸ’–

okay so bestie, welcome to openssl-passwd, the OpenSSL manual page ✨ (yes, that's the 1ossl manual, iconic). This whole thing is literally just about turning passwords into hashes, and it's lowkey one of the most useful little commands out there πŸŽ€


🌸 NAME 🌸

openssl-passwd β€” compute password hashes. that's it. that's the vibe. you give it a password, it gives you back a hash, slay πŸ’…


πŸ¦‹ 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]

like yes, that's a lot of flags, but we're gonna go through literally every single one, no cap 🫢


✨ DESCRIPTION ✨

so what does this thing actually do? it computes the hash of a password β€” either one you type in at run time, or a whole list of passwords πŸ’–

and where does that password list come from, i'm sure you're asking? three places, bestie:

  • from the file you name with the -in option
  • from stdin, if you use -stdin
  • straight from the command line
  • or, if you didn't do any of those, from the terminal otherwise 🌈

that's the whole concept, ate honestly πŸ‘‘


πŸ’… OPTIONS πŸ’…

  • -help β€” prints out a usage message. cute, short, to the point.
  • -1 β€” use the MD5 based BSD password algorithm 1. and psst β€” this one is the default, so it's giving main character energy whether you asked for it or not πŸŽ€
  • -apr1 β€” use the apr1 algorithm, which is the Apache variant of the BSD algorithm. Apache said "we have MD5 at home" and honestly? valid.
  • -aixmd5 β€” use the AIX MD5 algorithm, aka the AIX variant of the BSD algorithm. vintage, but make it IBM πŸ’œ
  • -5, -6 β€” use the SHA256 / SHA512 based algorithms defined by Ulrich Drepper. the source is literally right here, go read it iykyk: <https://www.akkadia.org/drepper/SHA-crypt.txt> πŸ”₯
  • -salt string β€” use the specified salt. ⚠️ and heads up: when you're reading a password from the terminal, this implies -noverify. so it's doing two things at once, multi-tasking icon.
  • -in file β€” read passwords from file. batch mode activated πŸ¦‹
  • -stdin β€” read passwords from stdin. pipe it in, live your life.
  • -noverify β€” don't verify when reading a password from the terminal. you trust yourself, and honestly? respect.
  • -quiet β€” don't output warnings when passwords given at the command line are truncated. so the truncation still happens, you just don't get told about it πŸ™ˆ (know that that's what you're signing up for!)
  • -table β€” in the output list, prepend the cleartext password and a TAB character to each password hash. extremely handy for eyeballing things πŸ‘€
  • -reverse β€” when the -table option is used, reverse the order of cleartext and hash. hash first, cleartext second, we're flipping the script πŸ’«
  • -rand files, -writerand file β€” see "Random State Options" in openssl(1) for the details. bestie, i'm not retyping that whole section, go check the big page 🫢
  • -provider name, -provider-path path, -provparam [name:]key=value, -propquery propq β€” see "Provider Options" in openssl(1), provider(7), and property(7). the holy trinity of provider lore ⭐

πŸ“ EXAMPLES πŸ“

these are literally the examples, copied exactly, because accuracy is the moment:

% 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/

look at those hashes. immaculate. no notes πŸ’€βœ¨


🧚 HISTORY 🧚

the -crypt option was removed in OpenSSL 3.0. like, gone gone. if you're out here looking for it, it's not coming back, she moved away 😭


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>.

fr fr, read the license, it's not optional and it's not that long πŸ’–

and that's the whole page, bestie!! 🌈 mwah πŸ’‹ this was OpenSSL 3.5.9, dated 2026-09-29, from the OPENSSL-PASSWD(1ossl) manual β€” go forth and hash responsibly, you absolute icon πŸŽ€πŸ’œ

πŸ“¦ where this page comes from