問題タブ [hashlib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
25329 参照

python - hashlibを使用してPython3でファイルのmd5ダイジェストを計算する

Python 2.7では、次のコードはファイルのコンテンツのmD5hexdigestを計算します。

(編集:まあ、答えが示しているように実際にはそうではありません、私はちょうどそう思った)。

python3を使用してそのコードを実行すると、TypeError例外が発生します。

python2とpython3の両方でコードを実行して、次のように変更できることがわかりました。

今でも、なぜ元のコードが機能しなくなったのか疑問に思います。バイナリモード修飾子を使用してファイルを開くと、バイトとしてエンコードされた文字列ではなく整数が返されるようです(type(buf)はintを返すためです)。この動作はどこかで説明されていますか?

0 投票する
2 に答える
1007 参照

php - PHP の crypt() から Python へのハッシュの移植

crypt()同様の方法で実行し、ランダムなソルトを生成して保存された文字列内に埋め込む、PHPの関数に同種のPythonがあるかどうか疑問に思っていました。

$5$SHA256 ベースのソルト暗号を設定するために文字列キーを使用して作成されたハッシュ化されたパスワードのテーブルがあります。これらのハッシュには、一定の間隔で両端に添付された追加のエントロピーが記録されていましたが、これらの文字を文字列から分割してコア ハッシュを取得することは簡単であり、まったく問題ではありません。

私はpythonのドキュメントを見てきましたが、hashlibphpのcrypt(). PHP で利用されているアプローチ (ソルト、アルゴ、およびラウンドの間のドル記号で分割された入力形式) は言語に固有のものですか?

ありがとう。

編集:

Python 独自のネイティブcrypt関数の改訂版では、PHP と同様の手順を使用するようです。3.3プレリリースのドキュメントから:

http://docs.python.org/dev/library/crypt.html

編集

最後に、純粋な Python でこの機能を提供するライブラリである Passlib を見つけました。

http://packages.python.org/passlib/index.html

0 投票する
3 に答える
4820 参照

python - openssl と hashlib/pycrypto で SHA1 ハッシュが異なる

openssl を使用したハッシュが、Python で取得したものと異なるのはなぜですか?

文字列は同等ではありませんか? 明らかな何かが欠けていますか?

編集:見つけてくれてありがとう。同じ迷惑な改行の問題に悩まされているファイルから保存されたメッセージをパイプしていました。

0 投票する
4 に答える
1617 参照

python - (3) 32 文字の 16 進数ハッシュを 1 つの一意の 32 文字ハッシュに結合しますか?

単一のハッシュに結合する必要がある (3) md5sums があります。新しいハッシュは 32 文字である必要がありますが、大文字と小文字が区別され、任意の文字または数字にすることができます。Pythonでこれを行う最良の方法は何ですか?

0 投票する
1 に答える
674 参照

python - ネストされたインポート エラー

実行中python version 2.4.3。私はpython-amazon-product-apiを使用しています。ただしapi.py、次のコード行で問題が発生しています。

私のバージョンは 2.4.3 であるため、に移動しelseてインポートしようとしCryptoます。だから私はそれをダウンロードしましたが、 SHA256.py でインポートエラーが発生しましcannot import _SHA256た。ライブラリに _SHA256.py がありません。すべての失敗した努力の後、pyCrypto の使用をやめ、スタンドアロンの hashlib ライブラリを使用しようとしました。だから私elseはの部分を変更しましたapi.py:

次に、hashlib のインポート中に、このインポート エラーが発生しました。

昨日同様の質問を投稿しましたが、正確な解決策を見つけることができなかったため、再度投稿しています。私は必死に解決策が必要です:(

0 投票する
5 に答える
2196 参照

python - サーバーに送信されるパスワードを暗号化する方法

ユーザー名とパスワードのデータを Web フォームからサーバーに送信しようとしています。

パスワードは https 接続を介してプレーン テキストとして送信され、サーバー上で ( python を使用してhashlib.sha224) 適切に暗号化されてから保存されますが、パスワード テキストを暗号化された形式でサーバーに送信する方法がわかりません。

私の Web クライアントは JavaScript で書かれており、サーバーは Python で書かれています。

0 投票する
3 に答える
1382 参照

python - 2つの大きなファイルのpythonチェックサム検証

2 つのファイルのチェックサムを作成して比較しようとしています。これは私が使用しているスクリプトです:

まず、私は出力に慣れていません。これは、他のファイルと比較するために使用できる文字列ですか? 次に、同じファイルに対してこのスクリプトを 2 回実行すると、異なる結果が得られます。パス間の経過時間に関連しているようです。ここで何が起こっているのか完全には理解できません。どんな助けでも素晴らしいでしょう。

0 投票する
2 に答える
270 参照

python - ThriftオブジェクトをSHA1ダイジェストに変換する

私はPythonの初心者です。Thriftプロトコルを使用してサーバーを操作しようとしています

このアルゴリズムを使用してSHA1ダイジェストを作成する必要があります:ブートストラップ+パスワード+誰+ブートストラップ。

ブートストラップを作成するには、これを使用します。

しかし、更新メソッドの引数は文字列のみを入力し、ブートストラップを文字列に変換する方法を理解できません。

C ++では、このコードは次のようになります。

誰かがPythonを使用してそれを行う方法を説明できますか?

前もって感謝します!

0 投票する
2 に答える
5243 参照

c# - Python 3.2 の hexdigest に相当する C# は何ですか?

現在、Python 3.2 プログラムを C# に変換するプロジェクトに取り組んでいます。

Python プログラムには、16 進数のみを含む倍長の文字列オブジェクトを返すコード行があります。

Python プログラムのコードは次のとおりです。

PythonのhashlibからC#でhexdigestに相当するものを見つけようとして失敗しました。

C# では、既に SHA1 ハッシュをバイト配列で取得していますが、hexdigest に相当するものを実行しようとしたすべてのメソッドは、hash_string との一致を提供できませんでした。これは、sha1 の hexdigest が一致する必要があるものです。

問題がhexdigestをエミュレートするために使用している方法なのか、そもそもsha1ハッシュを生成するために使用している方法なのかはわかりません.これにより、問題の考えられる原因を少なくとも 1 つ取り除くことができます。

hexdigest の代わりに現在使用している方法は次のとおりです。

編集:facepalm大丈夫です、私は自分の問題が何であるかを理解しました。Python で sha1 ハッシュを生成するとき、小文字の 16 進文字列から実行していました。私の C# では、大文字の 16 進文字列でした。したがって、私が使用している同等の hexdigest はそのままで問題ないと思います。人の時間を無駄にしてごめんなさい。

0 投票する
3 に答える
9394 参照

python - 序数が範囲外のすべての文字を文字列から削除します

範囲外のすべての文字を削除する良い方法は何ですか: ordinal(128)Pythonの文字列から?

Python 2.7 で hashlib.sha256 を使用しています。私は例外を取得しています:

UnicodeEncodeError: 'ascii' コーデックは位置 13 の文字 u'\u200e' をエンコードできません: 序数が範囲内にありません(128)

これは、ハッシュしようとしている文字列にファンキーな文字が入っていることを意味すると思います。

ありがとう!