Чтобы добавить мои 2 цента, исключение может возникнуть, даже если вы вызываете свой код через System.Windows.Threading.Dispatcher.CurrentDispatcher.Invoke()
. Дело в том, что вам нужно вызвать Invoke()
элемента Dispatcher
элемента управления, к которому вы пытаетесь получить доступ, что в некоторых случаях может не совпадать с System.Windows.Threading.Dispatcher.CurrentDispatcher
. Поэтому вместо этого вы должны использовать YourControl.Dispatcher.Invoke()
для обеспечения безопасности. Я уже несколько часов стучал головой, прежде чем понял это.
jBcrypt прекрасен, вероятно, как crypto алгоритм для Ваших паролей; шифр относительно силен. Хотя были некоторые дефекты реализации, о которых сообщают, в Шифре самостоятельно, я не нахожу, что что-либо очень сообщило о jBcrypt. С другой стороны, Шифр не был протестирован почти так в большой степени, как другие алгоритмы имеют, и , трещина - разрабатывает известное-plaintxt нападение, часто работает лучше, чем ожидалось, удивляя crypto фанатов.
, Таким образом, вот то, что я предложил бы:
До Вашей озабоченности, что это не зрело, я собирался предположить, что Вы настраиваете свое собственное тестовое сравнение JUnit результатов jBcrypt и более доказанного Bcrypt, чтобы видеть, получаете ли Вы те же результаты и затем вносите тех, которые к jBcrypt проекту.
, Но это было уже сделано:
... поставки с рядом модульных тестов JUnit для проверки корректной деятельности библиотеки и совместимости с канонической реализацией C bcrypt алгоритма.
Просматривание JUnit тестирует, чтобы видеть, встречаются ли они, Ваш уровень удовлетворенности - то, где я запустил бы...
Я сомневаюсь, что устойчивость будет проблемой, так как bcrypt самой зрело, и ее крошечные, стандартизированные обертки не делают ничего экстраординарного. Я доволен другой bcrypt оберткой Damien Miller, python-bcrypt , который находится только на версии 0.1.
, я незнаком со Знатоком, но (предупреждение ереси!) Я сомневаюсь, что Вам нужно управление версиями для компонента, столь же простого как bcrypt. Для заключения в кавычки сайта изменения от v0.1 до v0.2 были "правильностью, опечаткой и тонкими настройками API (полностью назад совместимый)", и Список ожидающих выполнения задач пуст.