+
    i                         R t ^ RIHt ^ RIt]P                  ! ]4      t^ RIHt ^ RI	H
t
HtHt ^ RIHu Ht R.t ! R R]P$                  ]P&                  4      tR# )zXpasslib.handlers.postgres_md5 - MD5-based algorithm used by Postgres for pg_shadow table)md5N)to_bytes)str_to_uasciiunicodeupostgres_md5c                   Z   a  ] tR t^t o RtR t]! R4      t]P                  t
^ tR tRtV tR# )r   a  This class implements the Postgres MD5 Password hash, and follows the :ref:`password-hash-api`.

It does a single round of hashing, and relies on the username as the salt.

The :meth:`~passlib.ifc.PasswordHash.hash`, :meth:`~passlib.ifc.PasswordHash.genhash`, and :meth:`~passlib.ifc.PasswordHash.verify` methods all require the
following additional contextual keywords:

:type user: str
:param user: name of postgres user account this password is associated with.
r   c                    \        V\        4      '       d   VP                  R 4      p\        V P                  R RR7      p\        \        W,           4      P                  4       4      # )zutf-8user)param)
isinstancer   encoder   r
   r   r   	hexdigest)selfsecretr
   s   && W/var/www/html/photoedit/myenv/lib/python3.14/site-packages/passlib/handlers/postgres.py_calc_checksumpostgres_md5._calc_checksum+   sJ    fg&&]]7+F		7&9S/99;<<     N)__name__
__module____qualname____firstlineno____doc__namer   _hash_prefixuh	HEX_CHARSchecksum_charschecksum_sizer   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s2     	 DU8L\\NM
= =r   )r   hashlibr   logging	getLoggerr   logpasslib.utilsr   passlib.utils.compatr   r   r   passlib.utils.handlersutilshandlersr   __all__HasUserContextStaticHandlerr   r   r   r   <module>r0      sV    ^
  g''1 # : : # # =2$$b&6&6 =r   