BCrypt не разрешен для приложений Магазина Windows

Я использую хеширование Bcrypt.net для паролей в Windows Store App. Он отлично работает при сборке и тестировании в планшетах Windows. Но когда я пытаюсь загрузить это приложение для хранения, оно не работает в поддерживаемом тесте API.

Ниже приведены подробности ошибки

API System.ApplicationException в MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 не поддерживается для этого типа приложения. BCrypt.Net.dll вызывает этот API.

API System.Runtime.Serialization.SerializationInfo in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. BCrypt.Net.dll calls this API.
API System.Security.Cryptography.RandomNumberGenerator in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. BCrypt.Net.dll calls this API.
API System.ApplicationException.#ctor in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. BCrypt.Net.dll calls this API.
API System.ApplicationException.#ctor(System.String) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. BCrypt.Net.dll calls this API.
API System.ApplicationException.#ctor(System.String,System.Exception) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. BCrypt.Net.dll calls this API.
API System.ApplicationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. BCrypt.Net.dll calls this API.
API System.Text.StringBuilder.AppendFormat(System.String,System.Object) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. BCrypt.Net.dll calls this API.
API System.Security.Cryptography.RandomNumberGenerator.Create in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. BCrypt.Net.dll calls this API.
API System.Security.Cryptography.RandomNumberGenerator.GetBytes(System.Byte[]) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. BCrypt.Net.dll calls this API.

Что для этого можно сделать? Есть идеи? Заранее спасибо.

2 ответа

Как указано в сообщении об ошибке

API System.Runtime.Serialization.SerializationInfo в MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 не поддерживается для этого типа приложения. BCrypt.Net.dll вызывает этот API.

Класс SerializationInfo не принадлежит .NET для Магазина приложений.

Вы не можете использовать BCrypt.NET при разработке приложений для магазинов, потому что они основаны на полной версии.NET, я рекомендую использовать класс HashAlgorithmProvider в Windows Runtime App.

Я знаю, что это немного поздно для вечеринки, но я портировал BCrypt.net на.net Core, так что вы сможете использовать его сейчас. Просто поменяйте вашу зависимость от той, что здесь:

https://www.nuget.org/packages/BCrypt.Net-Core/

Это должно быть падение замены.

Другие вопросы по тегам