设置使用 SHA 256 加密的 Jupyter Lab 密码

gap*_*311 6 python ubuntu sha jupyter-notebook jupyter-lab

我目前正在 Ubuntu 18.04 服务器上运行 Jupyter 实验室服务。我已经使用以下命令在我的实验室上设置了密码:

$ jupyter notebook --generate-config
$ jupyter notebook password
Run Code Online (Sandbox Code Playgroud)

它以以下输出响应:

[NotebookPasswordApp] Wrote hashed password to /Users/you/.jupyter/jupyter_notebook_config.json
Run Code Online (Sandbox Code Playgroud)

之后,我在 .jupyter/jupyter_notebook_config.py 文件中添加配置设置,如下所示:

c.NotebookApp.password = u'sha1:bcd259ccf...<my hashed password here>'
Run Code Online (Sandbox Code Playgroud)

我想要的是获得 SHA 256 哈希密码而不是 SHA 1,纯粹是因为 SHA 256 哈希由于其长度较大而提供了额外的加密级别。

我想知道是否有办法使这成为可能?目前我已经尝试了几种选择,但似乎都不起作用。

DMf*_*fll 13

notebook.auth模块提供了一个名为 的功能passwd。第二个参数是算法。您可以使用该函数获取 SHA 256 哈希密码。

"""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 :func:`hashlib.new`, or 'argon2').

Returns
-------
hashed_passphrase : str
    Hashed password, in the format 'hash_algorithm:salt:passphrase_hash'."""

from notebook.auth import passwd

my_password = "spam-and-eggs"

hashed_password = passwd(passphrase=my_password, algorithm='sha256')

print(hashed_password)
Run Code Online (Sandbox Code Playgroud)

输出:sha256:128c5116bc40:94cfe1eef8703b657a7ef28af741fa05465c7a7355645a65040bd51bccc6039b