問題タブ [passwords]
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.
linux - Oracle sysdba パスワードを回復または変更する方法
私たちは、それを設定した人が「長くいなくなった」ため、sysdbaパスワードを知らないが、それが必要なOracleデータベースで作業しています。ボックスへのルートアクセスがあります(Linux上)。sys パスワードを回復または変更する方法はありますか?
c# - ランダムパスワードの生成
当サイトのユーザーがパスワードを紛失して[パスワードの紛失]ページに移動した場合、新しい一時パスワードをユーザーに提供する必要があります。これがどれほどランダムであるかは本当に気にしません。または、「必要な」強力なパスワードルールがすべて一致する場合は、後で変更できるパスワードを与えるだけです。
アプリケーションは、C#で記述されたWebアプリケーションです。だから私は意地悪で、Guidの一部を使用する簡単なルートを選ぶことを考えていました。すなわち
提案?考え?
php - ユニークキー生成
特にPHPで、常に一意のキーを取得することが保証される方法を探しています。
私は次のことをしました:
しかし、たまにキーが重複してしまうことがあります(まれですが、十分な場合があります)。
私もやろうと思った:
しかし、PHPのWebサイトによると、uniqid()は、uniqid()が同じマイクロ秒で2回呼び出された場合、同じキーを生成する可能性があります。rand()を追加することはめったにありませんが、それでも可能だと思います。
上記の行の後に、LやOなどの文字も削除しているので、ユーザーの混乱を少なくします。これは重複の原因の一部かもしれませんが、それでも必要です。
私が考えているオプションの1つは、キーを生成するWebサイトを作成し、それをデータベースに保存して、完全に一意であることを確認することです。
他に何か考えはありますか?ある種のAPIを備えているか、単にキーを返すだけの、すでにこれを行っているWebサイトはありますか。http://userident.comを見つけましたが、キーが完全に一意であるかどうかはわかりません。
これは、ユーザー入力なしでバックグラウンドで実行する必要があります。
security - 自動生成されるパスワードで避けるべき文字
いくつかのパスワードを生成する必要があります。互いに混同される可能性のある文字は避けたいと考えています。避けるべきキャラクターの決定的なリストはありますか? 私の現在のリストは
il10o8B3Evu![]{}
他に混同しやすい文字の組み合わせはありますか? 特殊文字については、キーボードの国籍によって異なることはわかっていますが、数字キーの下にあるものに限定するつもりでした!
ライダーの質問として、パスワードを「wordlike」にしたいのですが、そのための好ましいアルゴリズムはありますか?
ありがとう :)
encryption - 個々のファイルにパスワード保護を実装する方法は?
データ ファイルを暗号化し、パスワードで保護できる小さなデスクトップ アプリを作成しています (つまり、解読するには正しいパスワードを入力する必要があります)。暗号化されたデータ ファイルを自己完結型で移植可能にしたいので、認証をファイルに埋め込む必要があります (またはそう思います)。
私が知っていることに基づいて、実行可能で論理的に見える戦略があります (これはおそらく危険であるには十分です) が、それが実際に優れた設計であるかどうかはわかりません。だから教えてください:これはクレイジーですか?それを行うためのより良い/最良の方法はありますか?
- ステップ 1: ユーザーは、「MyDifficultPassword」などの平文のパスワードを入力します。
- ステップ 2: アプリはユーザー パスワードをハッシュし、その値を対称キーとして使用してデータ ファイルを暗号化/復号化します。例: "MyDifficultPassword" --> "HashedUserPwdAndKey"。
- ステップ 3: アプリはステップ 2 のハッシュ値をハッシュし、新しい値をデータ ファイル ヘッダー (つまり、データ ファイルの暗号化されていない部分) に保存し、その値を使用してユーザーのパスワードを検証します。例: "HashedUserPwdAndKey" --> "HashedValueForAuthentication"
基本的に、Web サイトのパスワードを実装する一般的な方法 (つまり、OpenID を使用していない場合) から推測しています。これは、ユーザーのパスワードの (ソルト化された) ハッシュを DB に保存し、実際のパスワードを決して保存しないことです。 . しかし、対称暗号化キーにハッシュ化されたユーザー パスワードを使用しているため、認証に同じ値を使用することはできません。したがって、もう一度ハッシュして、基本的に別のパスワードと同じように扱い、二重にハッシュされた値をデータ ファイルに保存します。そうすれば、ファイルを別の PC に持っていき、パスワードを入力するだけで復号化できます。
では、この設計は合理的に安全なのか、それともどうしようもなくナイーブなのか、あるいはその中間なのか? ありがとう!
編集: 明確化とフォローアップの質問: ソルト。
ソルトは有用であるためには秘密にしておく必要があると思いましたが、あなたの回答とリンクはそうではないことを示唆しています. たとえば、 erickson によってリンクされたこの仕様(以下) は次のように述べています。
したがって、ここで定義されているパスワードベースの鍵導出は、パスワード、ソルト、および反復回数の関数であり、後者の 2 つの量を秘密にしておく必要はありません。
これは、ハッシュ化されたキーと同じ場所/ファイルにソルト値を保存でき、ハッシュ時にソルトをまったく使用しない場合よりも安全であることを意味しますか? それはどのように機能しますか?
もう少しコンテキスト: 暗号化されたファイルは、他のユーザーと共有したり復号化したりすることを意図したものではなく、実際にはシングル ユーザー データです。しかし、完全に制御していないコンピューター (職場など) の共有環境に展開し、ファイルをコピーするだけでデータを移行/移動できるようにしたい (自宅や別の場所で使用できるようにするため)ワークステーションなど)。
passwords - アプリの平文パスワードの置き換え
現在、所有している Web アプリのプレーン テキスト パスワードを保存しています。
私はパスワード ハッシュへの移行を主張し続けていますが、別の開発者は、これは安全性が低くなると言いました。より多くのパスワードがハッシュに一致する可能性があり、辞書/ハッシュ攻撃がより高速になります。
この議論に真実はありますか?
authentication - あなたの会社はどのように資格情報を管理していますか?
これは、提案と可能な解決策さえも求めるものです。私は、クレデンシャル管理を「正しく」行っているように見える会社に行ったことがありません。
私はExcel/Word文書、さらには付箋紙の「解決策」を見てきました。
しかし、私の主な質問は、それを行う正しい方法は何ですか?
当初はKeePassを中心に展開すると思っていましたが、ユーザー間でこれらのデータベースをどのように管理しますか?
また、私が見たすべてのオンラインパスワードマネージャーの中で、実際にマルチユーザーであるものはありません。
うまくいけば、これは少しの視点をもたらし、私が素晴らしい答えを見たことがない何かに少し光を当てることができます。
java - クライアント/サーバー アプリケーション: ユーザーのアプリケーション パスワードを DB に送信する方法は?
DB(Oracle)に直接接続するJavaデスクトップアプリケーションがあります。アプリケーションには複数のユーザー アカウントがあります。ネットワーク経由でユーザーのパスワード (DB パスワードではない) を送信する正しい方法は何ですか? プレーンテキストで送信したくありません。
algorithm - パスワードの強度を確認する最良の方法は何ですか?
登録またはパスワード変更フォームで、ユーザーが入力したパスワードが強力なパスワードであることを確認する最善の方法は何ですか?
私が持っていた1つのアイデア(Pythonで)
ruby - Ruby でランダムな文字列を生成する方法
現在、「A」..「Z」の 8 文字の疑似ランダム大文字文字列を生成しています。
しかし、きれいに見えません。また、単一のステートメントではないため、引数として渡すこともできません。大文字と小文字が混在する文字列 "a" .. "z" と "A" .. "Z" を取得するには、次のように変更しました。
でもゴミみたい。
誰かがより良い方法を持っていますか?