2009-08-25 10 views
7

Python 2.4でSHA256ハッシュを計算する方法はありますか? (私は強調します:Python 2.4)Python 2.5でそれを行う方法は分かっていますが、残念ながら私のサーバーでは利用できません。アップグレードは行われません。私はthisの質問と同じ問題を抱えていますが、Python 2.4を使用しています。どんな助けでも大歓迎です。Python 2.4のSHA256ハッシュ

編集:申し訳ありませんが、私はSHA 256を意味します。私も急いでいました。またすみません。

答えて

10

はいできます。 Python 2.4では、まさにこれを行うSHA-1モジュールがありました。 the documentationを参照してください。

ただし、このモジュールからコードをインポートすると、新しいPythonで実行するとDeprecationWarningsが発生することに注意してください。

いいえ、要件がSHA-256になるように強化されているため、標準ライブラリでSHA-1モジュールを使用するだけでは十分ではありません。私はpycryptoをチェックアウトすることをお勧めします、それはSHA - 256の実装があります。また古いPythonsと一致するWindowsのバイナリリリースがあり、Andrew Kuchlings old PyCrypto pageからのリンクに従ってください。

+0

パスワードをハッシュしている場合は、SHA-1の使用をお勧めしません。それはひびが入っていて、安全ではないと考えられていません。パスワードをハッシュするためのMD5の使用も安全でないと考えられています。もっと最近のバージョンのPythonで新しいハッシュライブラリにアクセスできない場合は、(Linux上で) 'ssh-keygen'をシステムコールし、作成したファイルを読み込むことをお勧めします。 – MikeyE

+0

質問と回答が書かれた2009年にSHA1がOKだったのは、 "今まで"と言っても過言ではありません。参考までに、Marc StevensがSHA1ハッシュを衝突させる最初の理論的アプローチは2013年まで公開されていませんでした。 しかし、あなたのハッシュを知り、あなたの選択のセキュリティの意味を理解してください。 –

+0

お聞きします。私が「いつも」と言ったとき、私が意味したのは「今の時代からのものです。しかし、私はそれが暗に考えられたと思った。あなたは良い点を作っています。私はあなたの答えが書かれた時には良いと思っています。おそらくそれは時代に対応するように改訂される可能性がありますか? – MikeyE

8

あなたは互換性のある滞在したい場合、あなたはこのようにそれをインポートすることができ、shaモジュールを使用することができます。

try: 
    from hashlib import sha1 
except ImportError: 
    from sha import sha as sha1 
+0

投稿されたコードはSHA-1を計算し、SHA-256を計算するのは無駄です。 – pts