データベースでSHA512のパスワードハッシュを保存します
-
11-09-2019 - |
質問
私のASP.NETのWebアプリケーションでは、私はSHA512と私のユーザーのパスワードをハッシュ化しています。
多くのSO'ingにもかかわらず、私は、私はデータベース(SQL2005)に格納する必要があるかは不明だグーグル - 以下のコードは、私が文字列としてハッシュを作成しています方法の基本を示しており、私は現在挿入していますCHAR(88)列にデータベースにその長さが一貫して作成しているように見えるように
(私はGoogleでいくつかの奇妙なものを見てきたように)ので、それは常にSHA512で88個の文字になります場合は、、文字列にそれを行うための最善の方法として、それを持っていますか?
Dim byteInput As Byte() = Encoding.UTF8.GetBytes(sSalt & sInput)
Dim hash As HashAlgorithm = New SHA512Managed()
Dim sInsertToDatabase As String = Convert.ToBase64String(hash.ComputeHash(byteInput))
解決
SHA512は512ビット、または64のバイトを出力します。あなたがそう望んだ場合は、バイナリ列に、これらの64のバイトを格納することができます。
あなたのアプリケーションの外部ハッシュを扱いたい場合は、あなたが今やっているように、、Base64文字列を格納するために、より快適です。 Base64ではほぼ一定のオーバーヘッドの33%を追加しますので、あなたは、文字列は常に88個の文字であることを期待することができます。
ASP.NETはかなり包括的な認証システムを持っているに、言ったことあなたが使用する必要があります組み込み、ます。
所属していません StackOverflow