В основном вам нужно искать в виде шифрования вы используете с пружинным безопасности я не должен был вникать это глубоко в него, но это может помочь
https://github.com/grails-plugins/grails-spring-security-core/blob/7f09c528bedcf53ff9d109dad725d68a54d36a2e/src/docs/passwords/salt.adoc
SystemWideSaltSource и пользовательских SaltSource
Spring Security предоставляет простую реализацию SaltSource, `{apidocs} org/springframework/security/authentication/dao/SystemWideSaltSource.html [SystemWideSaltSource], которая использует одну соль для каждого пользователя. Он менее надежный, чем использование другого значения для каждого пользователя, но все же лучше, чем отсутствие соли.
Пример переопределение источника соли боба с помощью SystemWideSaltSource будет выглядеть следующим образом:
Листинг 1. Настройка SystemWideSaltSource как SaltSource боба в application.groovy
import org.springframework.security.authentication.dao.SystemWideSaltSource
beans = {
saltSource(SystemWideSaltSource) {
systemWideSalt = 'the_salt_value'
}
}
Чтобы иметь полный контроль над процессом , вы можете реализовать интерфейс SaltSource и заменить реализацию плагина на свой собственный, определив компонент в grails-app/conf/spring/resources.groovy с именем saltSource:
Листинг 2. Co nfiguring пользовательский реализации SaltSource боба в application.groovy
import com.foo.bar.MySaltSource
beans = {
saltSource(MySaltSource) {
// set properties
}
}
Также смотрите здесь, чтобы понять, возможно, принять плагин в отладке, чтобы выяснить, как это работает:
https://github.com/grails-plugins/grails-spring-security-core/tree/7f09c528bedcf53ff9d109dad725d68a54d36a2e/src/main/groovy/grails/plugin/springsecurity/authentication/encoding
You необходимо протестировать тест алгоритма соли на двух системах, которые используют один и тот же ключ солярии - вы должны найти в обеих системах, которые затем будут шифровать/дешифровать таким же образом. (так как они оба имеют один и тот же ключ двери)
Как бы то ни было, у вас уже есть защита от задержек с пружиной в определенном виде (о том, что у вас нет обзора), и теперь уже слишком поздно, поскольку им все будет нужно быть заново зашифрованным
Это, если вы проверили ту же соль на две системы и, самое главное, имели 1 тестовую систему, сконфигурированную с использованием пружины, используя эту соль, и проверили результат на вашем.Net C# system сначала
Также я пронесся через него и заметил что-то о том, что шифрование по умолчанию связано с именем пользователя - так что вы можете дать понять, как вы могли бы написать что-то подобное для другого конца (выяснение того, что он использовал для своего по умолчанию)
Надеемся, что пароли * хэшируются * и не * зашифрованы *. Разница, являющаяся первой, не является обратимой, что является важным отличием. Разумеется, вы наверняка реализуете тот же алгоритм на .NET, но для этого потребуется ручная работа. –
Да, я провел некоторое исследование, и, похоже, это единственный способ. Я опубликую свои выводы. – Adds