2009-04-06 5 views
4

私たちが現在使用しているアプリケーションの認証システムは、基本的に栄光に満ちたシーザー・サイファー以上の双方向ハッシュを使用しています。何が起こっているのかについて詳しく説明することなく、より安全な暗号化アルゴリズムに置き換えたいと思います(サーバー側で行う必要があります)。残念ながら、それは双方向でなければならず、hashlibのアルゴリズムはすべて一方向です。Pythonで実装された良い双方向暗号化ライブラリは何ですか?

この種のアルゴリズムを含む良い暗号ライブラリにはどのようなものがありますか?

+0

"hashlibのアルゴリズムはすべて一方向です" - それは定義の問題です。ハッシュは一方向として定義されています。理想的には一方向のみですが、逆もあります。おそらくあなたはあなたの質問を言い換えるべきです。 –

答えて

7

双方向の場合は、実際には「ハッシュ」ではありません。それは暗号化です(そして、これは本当に「塩」または「サイファー」のものです)ではなく、実際の暗号化です。ハッシュはone-way の定義でです。 MD5やSHA1のようなものではなく、PGPのようなものを探す必要があります。

第2に、2ウェイ要件の背後にある理由を説明できますか?それは、認証システムのための良い習慣とは考えられていません。

+2

ベンダー提供のアプリケーションに外部認証に奇妙な要件があるためです。しかし、より良い方法を見つけるために、そのベンダーと協力する必要があることを私は確信しています。 –

20

ハッシュではなく、暗号化アルゴリズムが必要と仮定します。 PyCryptoライブラリはかなり幅広いオプションを提供しています。 new maintainerに移動する途中ですので、ドキュメントは少し混乱していますが、おおよそあなたが探し始めたい場所はthisです。私は通常このようなもののためにAESを使用します。

+0

投票しましたか?私はこれがまさに彼が探しているものだと確信しています。 – DNS

+1

+1:これについても投票が行われる理由はわかりません。 –

+0

+1:定義の問題ではありません。双方向ハッシュが壊れています。 –

5

PyCryptoは、私はドキュメントhereを見つけた

AES、DES、IDEA、RSA、エルガマルなどをサポートしています。