Files
hkuds--lightrag/lightrag/tools/hash_password.py
T
2026-07-13 12:08:54 +08:00

40 lines
1.0 KiB
Python

import argparse
import getpass
from lightrag.api.passwords import hash_password
def build_parser() -> argparse.ArgumentParser:
parser = argparse.ArgumentParser(
description="Generate a bcrypt password value for AUTH_ACCOUNTS."
)
parser.add_argument(
"password",
nargs="?",
help="Password to hash. If omitted, a secure prompt is used.",
)
parser.add_argument(
"--username",
help="Optional username. When provided, output is ready to paste into AUTH_ACCOUNTS.",
)
return parser
def main(argv: list[str] | None = None) -> int:
parser = build_parser()
args = parser.parse_args(argv)
password = args.password or getpass.getpass("Password: ")
if not password:
parser.error("password cannot be empty")
hashed_password = hash_password(password)
if args.username:
print(f"{args.username}:{hashed_password}")
else:
print(hashed_password)
return 0
if __name__ == "__main__":
raise SystemExit(main())