問題タブ [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.
android - Androidでlibsodiumを使用してキーの派生を処理する適切な方法は何ですか?
Android での対称暗号化に libsodium を使用しようとしています。Androidでlibsodiumを取得するために、このバインディングライブラリを使用しています。
(低エントロピー/ユーザーが選択した) パスワードからキーを導出する適切な方法を見つけるのに苦労しています。PBKDF2 および SCrypt アルゴリズムについては、オンラインで多くの参照があります。特に SCrypt は libsodium の一部として含まれているように見えますが、上記のバインディングで使用する方法がわかりません。キー導出関数のためだけに別のライブラリを追加する必要がありますか? これは機能しますが、必要でない場合は、そのためだけに別のライブラリを追加しないことをお勧めします。Java の SecretKeyFactory を使用する必要がありますか?
libsodiumを使用して以前にAndroidに対称暗号化を実装したことがあり、例またはガイダンスを提供できる場合は、いただければ幸いです。ありがとう。
c - とにかく、sodium.h を使用して文字スペース(32) を ~(126) に生成する方法はありますか? または、安全な文字列を生成する他の方法は?
パスワードを生成する C プログラムを作成しています。
rand()
srand((unsigned int)**main + (unsigned int)&argc + (unsigned int)time(NULL))
C では、found in hereを使用しても同じ文字列のセットを生成し続けますが、使用するよりも優れていますsrand(time(NULL))
私はこの答えを見つけました.libsodiumを自分のプロジェクトにリンクする方法がついにわかりました。
その後、 の上限のみを設定できることに気付きました。randombytes_uniform()
下限は常に0
です。
そしてrandombytes_random()
、パスワードに使用できないすべての種類の文字を使用してください。
ナトリウムを使用して文字空間(32)を文字~(126)に生成する方法、または文字を生成する安全な方法を知っている人はいますか?
元のコードは次のとおりです。