Привет всем, я получаю эту ошибку при попытке сравнить пароль в моей базе данных, используя мою страницу 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() & "')"
Недавно нам пришлось обновить/заблокировать наш сервер, чтобы соответствовать дырам в безопасности и т.п. Но это вызвало эту ошибку для одного из веб-сайтов, которые мы размещаем на том же сервере. До всех этих настроек безопасности веб-сайт работал нормально.
Странная часть заключается в том, что я могу запускать веб-сайт локально (режим отладки) в VS 2010, и он работает нормально. Никаких ошибок.
Может ли кто-нибудь дать какие-либо советы о том, как обойти это, чтобы веб-сайт снова работал, как это было до того, как мы добавили все эти настройки безопасности для подачи жалобы? Мы просто не можем просто отключить его, потому что это приведет к тому, что другие наши веб-сайты перестанут соответствовать требованиям.
Я уже пробовал предложения на этих страницах: http://blogs.msdn.com/b/brijs/archive/2010/08/10/issue-getting-this-implementation-is-not-Часть-платформы-Windows-Fips-проверенные-криптографические-алгоритмы-исключение-при-создании-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://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" в тип "Целое число" недопустимо.
И эта ошибка находится в строке: Dim data(p) As Byte