Member 12426391 Ответов: 1

Невозможно ссылаться на libsodium.dll в visual studio 2015


Я пытаюсь использовать метод хэширования паролей Argon2. Я погуглил его и обнаружил, что он требует libsodium.dll и так скачал zip файл libsodium.dll из github, который находится ниже
https://github.com/adamcaudill/libsodium-net/releases

И попытался добавить libsodium.dll для моего проекта он выбросил эту ошибку.
Ошибка: ссылка на 'C:\libsodium-net.v0.9.0\libsodium.dll ' не удалось добавить. Пожалуйста, убедитесь, что файл доступен и что он является допустимой сборкой или COM-компонентом.


Я пытался выяснить, как использовать libsodium и Argon2 для хэширования паролей и как устранить ошибку при добавлении libsodium.dll к моему проекту. Пожалуйста, предложите!!!

Что я уже пробовал:

Я установил "libsodium for .NET 0.9.0" из пакетов NuGet, он добавил sodium.dll, но у него нет аргонового метода, который я искал.

Я пытаюсь найти способ решить эту проблему, и я нашел это,
https://paragonie.com/blog/2016/02/how-safely-store-password-in-2016

Подумал, что мне будет полезно, если я добавлю libsodium.dll. Пробовал методом hasing для C#.Net с этого URL-адреса, но он кидает ошибку на ArgonHashString способ.

var hash = PasswordHash.ArgonHashString(yourPasswordString, Strength.Интерактивный)
если (PasswordHash.ArgonHashStringVerify(hash, yourPasswordString) {
//верный пароль
}

Я попытался добавить ссылку, скопировав libsodium.dll в корзину моего проекта и скопировав dll yo C:\Program файлы\справочные сборки\Microsoft\VSTO40\v10. 0. Он выдал ту же ошибку. Я попытался добавить libsodium.dll перемещая его в разные папки. Проверено путем добавления других библиотек DLL в мой проект, и нет никаких проблем при добавлении других библиотек DLL.

1 Ответов

Рейтинг:
0

OriginalGriff

Внимательно проверьте библиотеку DLL - ошибка в основном говорит:" это не Сборка", что означает, что это собственная библиотека DLL.
Вы не можете ссылаться только на собственную библиотеку DLL .NET an assemblies, которые также помогают, если файлы с расширением DLL.
Вместо этого доступ к собственным файлам должен осуществляться через PInvoke.