2012-03-01 21 views

答えて

4

フロントエンドアプリケーションからパスワードのHmac SHA256 hex DigestまたはMD5 Digestを取得し、erlangメソッドを使用してハッシュを作成してから保存することができます。

たとえば、Webアプリケーションを使用している場合、アカウント作成時またはログイン時にユーザーからパスワードを要求します。javaScriptを使用してこのパスワードのMD5ダイジェストを作成し、その代わりにワイヤー(HTTPS)で送信します。実際のパスワード。 Erlangに到達すると、私はこのMD5ダイジェストのハッシュをJavaScriptから作成し、それをユーザーのパスワードとして保存します。だから、ユーザーが私のページにログインしようとするたびに、私は同様のプロセスを行い、保存されたものと彼のエントリのハッシュ出力を比較します。この質問に対する解決策を見て、SHA256 HMac Digestで続きを読む:HMAC SHA256 hex digest of a string in Erlang, how?と、この1:Erlang and JavaScript MD5 Digest match

+0

so:フロントエンド(javascriptなど)を使用してsha/md5を実行し、erlang:phash2/1,2を使用して受信した値のハッシュを取得します。右? – user601836

+0

はい。実際のパスワードは決してワイヤーではなくダイジェストを通して送信されます。ここで、ダイジェストのハッシュを作成し、ハッシュを保存します。アカウントを作成したらすぐにこれを行う必要があります。したがって、フロントエンドでパスワードフィールドが発生すると、JavaScriptはパスワードのSHA1またはMD5ダイジェストを作成して送信するので、Erlangはハッシュを作成し、保存されたハッシュ値と比較します(ログインの場合)。創造) –

1

実際には、mnesiaにタプル(または同じレコード)を格納しますが、そのレコードのフィールドには任意の用語(バイナリを含む)を格納できます。それらを文字列に変換する必要はありません。

5

パスワードをハッシュするためにcrypto:sha/1を使用することは危険です。少なくとも塩はありますが、このようなパスワードを格納するためにscrypt、bcrypt、pbkdf2と言うのが望ましいです。彼らは数多くの攻撃に対して弾力性があります。残念ながら、私はErlangのサポートがないことを知っています。/

関連する問題