Sha256を使用するために最初にhashalot
をインストールしました。
次に、コマンド+ファイル名を使用すると何か奇妙なことが起こりました。
mlockall: Cannot allocate memory
Warning: couldn't lock memory, are you root?
Enter passphrase:
私が覚えている限り、これまでパスフレーズを入力する必要はありませんでした。また、コマンドを実行する前にパスワードを入力するか、Sudo
を使用すると、結果に奇妙な文字が表示されます。
��z�9��E-�c���F�K��"�x~�(8�J��
私はUbuntu(Elementary OS Freya)ベースのOSを使用しています。
インストールしたパッケージの説明を読みましたか?
このプログラムは、標準入力からパスフレーズを読み取り、バイナリ(印刷不可)ハッシュを標準出力に出力します。
出力をコンソールに出力しようとしました。あなたが見ているのは期待される振る舞いです。
ubuntu16.04ユーザーあたりのデフォルトの最大共有メモリは64kです。すべてのユーザーで1GBに上げましたが、エラーはなくなりました。
/etc/security/limits.confファイルの最後に行を追加すると、これが修正されます。システムを再起動する必要はありませんが、ログアウトする必要があります。
$ echo test | sha256 -s test | base64
mlockall: Cannot allocate memory
Warning: couldn't lock memory, are you root?
NyaDNd1pMQRb3N+SYj/4GaZCRLU9DnRtQ4eXNJ1NpXg=
$ ulimit -l
64
$ Sudo bash
# echo "* - memlock 1048576" >> /etc/security/limits.conf
今すぐログアウトしてください。
$ ulimit -l
1048576
$ echo test | sha256 -s test | base64
NyaDNd1pMQRb3N+SYj/4GaZCRLU9DnRtQ4eXNJ1NpXg=
もう涙はありません!!
この警告は、シークレットがメモリからページアウトされ、誰かがtmpスペースで後でそれを見つけたというコーナーケースに関するものだと思います。
私はあなたが探していると思いますsha256 -x
。マニュアルページから:「-xオプションを指定すると、ハッシュは16進数の文字列として出力されます。」 ( https://manpages.debian.org/jessie/hashalot/sha256.1.en.html )