2

ASP.netページを使用してデータベース内のパスワードを比較しようとすると、このエラーが発生します。

この実装は、WindowsプラットフォームのFIPS検証済み暗号化アルゴリズムの一部ではありません。

コードは次のようになります。

Public Shared Function UserAuthentication(ByVal user As String, ByVal pass As String) As WebUserSession
  Dim strSQL As String = ""
  Dim strForEncryption As String = pass
  Dim result As Byte()
  Dim sHA1Managed As SHA1 = New SHA1Managed()
  Dim encryptedString As New System.Text.StringBuilder()

  result = sHA1Managed.ComputeHash(ASCIIEncoding.ASCII.GetBytes(pass))

  For Each outputByte As Byte In result
    'convert each byte to a Hexadecimal upper case string
    encryptedString.Append(outputByte.ToString("x2").ToUpper())
  Next

  strSQL &= "SELECT email, name, id, permission_id, username FROM (user) INNER JOIN user_per ON user.id = user_per.user_id "
  strSQL &= "WHERE(username = '" & user & "' And password = '" & encryptedString.ToString() & "')"

最近、セキュリティホールなどに準拠するために、サーバーを更新/ロックダウンする必要がありました。ただし、そうすると、同じサーバーでホストしているWebサイトの1つでこのエラーが発生しました。これらすべてのセキュリティ設定の前は、Webサイトは問題なく機能していました。

奇妙な部分は、VS 2010内でWebサイトをローカル(デバッグモード)で実行できることです。これは問題なく実行されます。エラーはまったくありません。

これらすべてのセキュリティ設定を不満として追加する前と同じように、Webサイトを再び機能させるために、これを回避する方法について誰かがヒントを持っていますか?他のWebサイトが準拠しなくなるため、無効にすることはできません。

私はすでにこれらのページで提案を試しました:http: //blogs.msdn.com/b/brijs/archive/2010/08/10/issue-getting-this-implementation-is-not-part-of-the -windows-platform-fips-validated-cryptographic-algorithms-exception-while-building-outlook-vsto-add-in-in-vs-2010.aspx

http://social.msdn.microsoft.com/Forums/en/clr/thread/7a62c936-b3cc-4493-a3cd-cc5fd18b6b2a

http://support.microsoft.com/kb/935434

http://blogs.iis.net/webtopics/archive/2009/07/20/parser-error-message-this-implementation-is-not-part-of-the-windows-platform-fips-validated-cryptographic-アルゴリズム-when-net-page-has-debug-true.aspx

http://blog.aggregatedintelligence.com/2007/10/fips-validated-cryptographic-algorithms.html

ありがとう。

このコードも使用してみました

Dim p As String = Password.Text.ToString
Dim data(p) As Byte
Dim result() As Byte
Dim sha As New SHA1CryptoServiceProvider()

result = sha.ComputeHash(data)

エラーは次のとおりです。

文字列"S51998Dg5"からタイプ'Integer'への変換は無効です。

そして、そのエラーは次の行にあります:Dim data(p)As Byte

4

1 に答える 1

3

これによると、 sha1managedはfipsに準拠していません。このクラスはFIPSアルゴリズムに準拠していないため、InvalidOperationExceptionがスローされます。

FIPS準拠を無効にするか、FIPS準拠の実装を使用する必要があります。sha1cryptoserviceprovider私はFIPSの苦情だと思います。

于 2012-10-23T01:15:21.477 に答える