パスワードの保存にハッシュ値を用いるのは、「もっと良い方法がない」からというのが単純化した理由です。 たとえば、暗号鍵を安全に保存でき、外部に漏洩しないことが確実であるならば、ハッシュ値よりも暗号化して保存した方が確実です。 しかし、そもそもパスワードを保護する理由というのは、なんらかの理由でパスワード情報が漏洩した後の保護をしたいわけなので、パスワード情報は漏洩するが鍵は漏洩しないというシナリオは描きにくいわけです。絶対にできないわけでもありませんが、ハードウェアセキュリティモジュール(HSM)を使用するような高価な方法となりますし、サーバーに侵入されているという前提では、HSMとて絶対とまでは言えません。 このため、暗号鍵のような秘密情報を安全に保存できるという前提をさわやかにあきらめた方法が、pashword_hash等で採用されている方法で、これが現在の主流です。 まず、ハッシュ値
ES5で子クラスのような動きをするコードでは super() に該当するコードを呼ぶことは必須ではありませんが、ES2015ではそれがないとエラーが発生します。 ES2015の子クラスの constructor() では、なぜ super() を最初に呼ぶ必要があるのでしょうか? 親クラスのコンストラクタが呼ばれていないのは、オブジェクトの状態として変だからでしょうか? であればなぜ暗黙に呼ばれるのではなく、明示的に記述しなければエラーが発生するようになっているのでしょうか? ES5 1var Parent = function () { console.log("Parent constructor"); }; 2Parent.prototype.parentMethod = function() { console.log("parentMethod"); } 3 4var Child
JavaScriptは値渡しなのでしょうか?共有渡し(参照の値渡し)なのでしょうか?普通のObjectはすべて共有渡しだと思うのですが、プリミティブ型(?)については違うようなのです。しかし、StackOverflow(※)でもまとまっていないようで、よくわかりませんでした。詳細を分かる方がいれば、下記について教えて下さい。 ※参考: StackOverflow: Is JavaScript a pass-by-reference or pass-by-value language? 値渡しになる型はあるのでしょうか?ある場合は、どの型がなるのでしょうか? 1.の型のうちmutableな型はあるのでしょうか?ある場合は、mutableな型の破壊的メソッドはどのようなものがあるのでしょうか? 値渡しであることが分かる(共有渡しでは説明できない)コードはありますでしょうか? C++やC#で言う
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く