2010-12-05 11 views
2

私は、暗号化、復号化、ハッシュ、符号を持つクラスを持っています。将来、それは他のものを実装するかもしれませんが、私の質問は、そのクラスが呼び出されることです。現在私はEncrypterと呼んでいますが、実際には暗号化に関するものではありません。私はCryptoという言葉について考えましたが、それが人々が通常使う/考えているのかどうかはわかりません。暗号化、復号化、ハッシュを呼び出すクラスとは何ですか?

答えて

3

私はそれをOpenSSLと呼んでいます。あなたは対称暗号化のために "パスワード"を使用している場合、ハァー、真剣に今、真剣に今Cryptoそれのための良い名前です。私はCryptographic NonceとString2Key関数を作る方法でも投げるだろう。彼らは非常に異なっているので、暗号化の形式をハッシュと呼んでいないことをうれしく思います。

+0

String2Keyとは何ですか? – Tower

+0

@rFactorよくパスワードは人間が読める形式であり、ユーザーはパスワードを繰り返し、一般的に暗号化に使用するには叙述的に悪い選択です。プロフェッショナルな暗号化ルーチンを見てみると、普通のbase16の代わりにbase256文字列を返すメッセージダイジェスト関数から作られたs2k関数(通常はそうではない)を使用します。これらの関数は任意の長さのパスワードを受け入れることができます。パディングの必要なしに、暗号化ルーチンに必要な正確な長さのバイナリ文字列を返します。 – rook

+1

ああ、あなたはキー導出関数について話していますか? – Tower

0

それ...
CrytoManagerまたはのCryptoServiceコール?
または多分...
EncryptionManager?あなたは各主要目的のための1、複数のクラスにあなたの単一のクラスを分割したい場合がありますようですね
またはCryptoUtilityクラス...

4

  • ハッシュを復号
  • を暗号化します
  • 署名
  • 署名検証

これらのクラスをライブラリまたはモジュールに集めることができます(用語は使用する言語によって異なります)。

+0

いいえ、私は本当にしたくありません。なぜなら、彼らは多くのコード行で構成されていないし、それぞれのクラスを作成すると混乱するように感じるからです。 – Tower

+1

なぜですか?ハッシングは、1つの引数を取る関数です。暗号化は、3〜4の引数を取る1つの関数です。このような単純な方法からクラスを作ることは大変です。 – rook

+0

確かに、これらの操作のそれぞれのための機能を作ることはさらに優れています。しかしOPが実際にどの言語かを言っていないので、多分あなたがクラスを持つことができないJavaクラスかもしれません。 –