問題タブ [libsodium]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - zeromq ソースをコンパイルしようとすると、エラー LNK2019 が発生します
zeromq ソースをコンパイルしようとしていますが、次のエラーが発生します。
Visual Studio 2013 update 4/windows 7 x64 を使用しています
まず、libsodium ライブラリを問題なくコンパイルします。
次に、libsodium ヘッダー ファイルのディレクトリ パスを追加の依存関係にリンクし、libsodium.lib を追加のライブラリ ディレクトリにリンクします。また、追加の依存関係でライブラリの名前を指定します。
win32 アーキテクチャと x64 アーキテクチャでコンパイルしようとしましたが、同じエラーが発生します。
使用したい関数へのブリッジとして __imp プレフィックスが使用されていることは知っていますが、ライブラリを適切にリンクすると、なぜこのエラーが発生するのでしょうか?
コンソール ログ:
前もって感謝します。
c - Libsodium の署名と検証
関数
message の先頭に署名を追加しますm
。ただし、libsodiumがメッセージに直接署名するか、最初にハッシュを作成するかをドキュメントで見つけることができません。ハッシュを使用する場合、どのようなハッシュ方法を使用しますか?
c - libsodium crypto_stream_salsa20_xor の同じ入力および出力バッファ
の平文と暗号文と同じバッファを提供しても安全かどうか疑問に思っていcrypto_stream_salsa20_xor
ます。ソースファイルを調べてみました。crypto_stream_salsa20_xor
を使用しますcrypto_core_salsa20
が、この関数はヘッダー ファイルにのみ表示されます。
java - Android NDK: ビルド済みの共有ライブラリが 2 つあるが、そのうちの 1 つは他のライブラリに依存している
ビルド済みの 2 つの共有ライブラリ (A と B) に依存する Android アプリケーションを作成しています。どちらのライブラリも、armeabi および armeabi-v7a アーキテクチャで動作するように構成されています。
最初のビルド済みライブラリ A は libsodium です。2 つ目のビルド済みライブラリ B は、libsodium に依存する Rust ライブラリです。Rust のビルド済みライブラリをコンパイルするとき、依存関係として libsodium が使用されます。
現在、2 つのビルド済みライブラリ A と B を Android アプリケーションで使用したいと考えています。System.loadLibrary() を使用して A をロードすると、問題なく動作します。しかし、B をロードすると、B が A で定義されたメソッドを見つけられないというエラーが発生します。
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "crypto_sign_ed25519_detached" referenced by "libB.so"...
私の Android.mk は次のとおりです。
rust-manager.c ファイルは、ネイティブ Java 関数を Rust ライブラリにマップする C 関数を含む javah を使用して生成された C ラッパーですが、この時点では無視できると思います。どんな助けでも大歓迎です!
ios - iOS 用の libsodium のクロスコンパイル
iOS で使用する libsodium 暗号化ライブラリをクロスコンパイルしたいと考えています。具体的には、armv7、armv7s、および arm64 用にコンパイルして、古い iPhone でも新しい iPhone でも動作するようにしたいと考えています。
libsodium Web サイト ( https://download.libsodium.org/doc/installation/index.html ) の指示に従ってクロスコンパイルし、configure スクリプトを次のように実行しました。
armv7s-apple-darwin と armv8-apple-darwin についても同じです(arm64はサポートされていなかったので、arm64と同じだと思います/願っています)。次に、「make install」を実行しましたが、エラーなしで成功しました。ただし、作成した静的ライブラリを調べた場合:
それは私に言います:
これらすべてのために。armv7、armv7s、armv8 アーキテクチャをターゲットにしているのに、なぜこのスタティック ライブラリは x86_64 アーキテクチャをターゲットにしているのですか? 私は何か間違ったことをしていますか?
php - Libsodium-PHP で AES を暗号化/復号化する方法
PHP でデータを暗号化/復号化する必要があります。私はこれにまったく慣れていませんが、Libsodium-PHP が AES 暗号化に最適なツールであることを読みました。私が調査した他の PHP 暗号化ライブラリと同様に、Libsoduim-PHP は、ライブラリの使用方法に関するドキュメントをほとんど提供していないように見えました (私が見つけたもの)。PHP 暗号化の経験がある人は、良い学習リソースを教えてくれるか、Libsoduim-PHP を使用して数行のサンプル コードを書いてもらえますか?
助けてくれてどうもありがとう、
アトラス
c# - libsodium-net を使用する場合、ソルトを生成して保存する必要はありませんか?
nb 私は暗号の専門家ではありません (そのため、NaCl のようなライブラリを使用しています)。
この件について私が読んだことによると、ユーザーパスワードをデータベースに保存する最も安全な方法は、ハッシュとそのハッシュを生成するために使用されるソルトを保存することです。私はこの目的のために libsodium-net を使用することに決めましたが、今では件名に疑問が残ります: ソルトを生成して保存する必要はありませんか? libsodium-net には次の機能が含まれているため、質問します。
ハッシュを生成または検証するときにソルトを使用する必要はないようです。実際、ソルトを受け入れる ScryptHashString と ScryptHashStringVerify のオーバーロードされたメソッドはありません。ここで明らかな何かが欠けているように感じます。私ですか?それとも、libsodium-net は塩の必要性をなくしますか?