Module: lib.security

Password generation for the IPython notebook.

2 Functions

IPython.lib.security.passwd(passphrase=None, algorithm='sha1')

Generate hashed password and salt for use in notebook configuration.

In the notebook configuration, set c.NotebookApp.password to the generated string.

Parameters:
  • passphrase (str) – Password to hash. If unspecified, the user is asked to input and verify a password.
  • algorithm (str) – Hashing algorithm to use (e.g, ‘sha1’ or any argument supported by hashlib.new()).
Returns:

hashed_passphrase – Hashed password, in the format ‘hash_algorithm:salt:passphrase_hash’.

Return type:

str

Examples

>>> passwd('mypassword')
'sha1:7cf3:b7d6da294ea9592a9480c8f52e63cd42cfb9dd12'
IPython.lib.security.passwd_check(hashed_passphrase, passphrase)

Verify that a given passphrase matches its hashed version.

Parameters:
  • hashed_passphrase (str) – Hashed password, in the format returned by passwd.
  • passphrase (str) – Passphrase to validate.
Returns:

valid – True if the passphrase matches the hash.

Return type:

bool

Examples

>>> from IPython.lib.security import passwd_check
>>> passwd_check('sha1:0e112c3ddfce:a68df677475c2b47b6e86d0467eec97ac5f4b85a',
...              'mypassword')
True
>>> passwd_check('sha1:0e112c3ddfce:a68df677475c2b47b6e86d0467eec97ac5f4b85a',
...              'anotherpassword')
False