問題タブ [attr-encrypted]
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.
sql - attr_encrypted 列のレールでのクエリ
Ruby on Rails アプリがあり、attr_encrypted
gem を使用して一部のユーザー情報を暗号化しています。ソルトと IV があるため、2 方向暗号化されています。gem はクエリを支援するために動的にインターセプトfind_by
しますが、結果の数が気になるので、私の場合は十分なクエリではありません。
特定の に一致するすべての結果を返すようにテーブルをクエリする方法はありますsecret
か?
これが例です。テーブルがusers
あり、暗号化されたsecret
属性があります。したがって、テーブルにはencrypted_secret
、encrypted_secret_iv
、およびがありencrypted_secret_salt
ます。ユーザーが "abd123" のシークレットを指定した場合、テーブルをクエリして、"abc123" をシークレットとして使用した他のユーザーの数を確認するにはどうすればよいですか?
ruby-on-rails - mongoid:暗号化されたBSON::Binaryフィールドを保存する方法は?
私は自分のアプリケーションで mongodb の使用を開始しました。現在、機密性の高いバイナリ データを暗号化して mongodb に保存する簡単な方法を探しています。MySql DB でそれを行うときは を使用しattr_encrypted
ますが、mongoid では、特に文字列以外のフィールド (BSON::Binary) でそれを行うには、他の gem またはメソッドが必要になると思います。
助言がありますか?
ruby-on-rails - Rails 2.3アプリで未定義のメソッドattr_encrypted
私はRails 2.3アプリを維持しており(Rails 4に移行すると多くのことが壊れました)、パスワードをデータベースにプレーンテキストで保存する代わりに暗号化/復号化しようとしています。
attr_encrypted gemの指示に従って、追加しました
私のGemfileに、bundle installを実行しました-すべて満足しています。
次に、指示に従って、新しいフィールド encrypted_password をテーブルに移行し、app/models/serverobj.rb に 1 行を追加しました。
しかし、そこを参照すると、次のようなスタック トレースが表示されます。
serverobj.rb
、17行目は次のとおりです。
environment.rb
、70行目は次のとおりです。
あはは!attr_encrypted gem を load_paths に含めてはいけません。で attr_encrypted gem を見つけ、それを の行に/var/lib/gems/1.8/gems/
追加しました。 config.load_paths
environment.rb
しかし、まだ「未定義のメソッド attr_encrypted」が表示されます。
試してみたいものがなくなってきました。何か案は?
ruby-on-rails - attr_encrypted を使用して API トークンを暗号化および保存しますが、使用するために復号化する方法
マーチャントのアカウントからオンデマンドでデータを取得するアプリを構築します。
モデルをセットアップし、attr_encrypted gem をインストールしました。すべてが暗号化されて適切に保存されています。
トークンを取得して API に送信するメソッドを作成しましたが、復号化されたバージョンを送信する必要があります。トークンはユーザー固有であるため、それが何であるかはわかりません..
トークンの復号化されたバージョンを送信するにはどうすればよいですか?
私のコンソールで試しました..
そして、それは暗号化されたバージョンをうまく返します..
しかし、私が試してみると:
コンソールには ArgumentError: must specify a :key と表示されます
環境変数として保存したもの..
だから私はこれを渡すと思いますが、どうやって??
私は自分のモデルにこれを持っています:
コメントからの更新
これは私のデータベースがどのように見えるかです:
そして、私は試しました
そしてそれは私に暗号エラーを与えました。figaro を使用して環境変数を保存しています..それで問題ないようです..
それを続けてください!!
私がirbでやっていることは次のとおりです。
しかし、私がこれに従うと
私は得る:
ruby-on-rails - attr-encrypted gemで属性を暗号化する前にRailsモデルの検証を実行する
モデルの 1 つに暗号化された属性 (@model.encrypted_attribute と呼びましょう) があります。暗号化を追加する前に、モデルで次の検証を行いました。
before_save
また、属性から数値以外のすべての文字を gsub アウトするメソッドも実行しました。ただし、現在、次の方法がわかりません。
- 属性を暗号化して保存する前に実行
gsub!(/\D/, '')
するか、後で実行し、attr-encrypted で@model.attribute
値を再暗号化してデータベースに書き戻します。文字を取り除くことはできますが、再暗号化/保存することはできません。
/li>attribute
保存する前に、暗号化されていない値に対して検証を実行します。次のコードを before_block に追加しようとしましたが、別のエラー (undefined method '12345678' for #<Spree::Order:0x007fae02011cd0
)が発生します。
上記のいずれかまたは両方を達成する方法、または少なくとも attr_encrypted が機能する前に実行するカスタムメソッドを設定する方法を知っている人はいますか?
--------------編集-------------検索中にこれに遭遇した人のために上記の2つを残しますが、その解決策は暗号化の検証で
見つけることができますデータ
ruby-on-rails - Ruby on Rails - 特定のデータを暗号化する必要があるのはなぜですか?
データの暗号化
一部のモデルに attr_encrypted を追加し終えたばかりなので、ハッカーの仕事はそれほど難しくないかもしれないと考えるようになりました。
私はアプリサーバーとは別のサーバーにデータベースを持っています - ただし、誰かがデータベースサーバーにアクセスできた場合、その人はキーが保存されているアプリサーバーにもアクセスできる可能性があります (おそらくその仮定は間違っています) )同じタイプのセキュリティ対策を備えているためです。
問題
Rails コードはサーバー上に読み取り可能なテキスト形式で保存されるため、秘密鍵にアクセスできます。確かに、誰かがデータベースを手に入れ、それらの鍵を手に入れた場合、ハッカーが情報を解読する時間を単純に (わずかに) 延長するだけなので、データの暗号化全体が無意味になります。
もしそうなら、それ以上のセキュリティ対策はありますか、それとも暗号化の概念を完全に見逃してしまったのでしょうか?
attr_encrypted gem と関連する readme と質問を調べましたが、有用なものは見つかりませんでした。
ruby-on-rails - Raisl 4 - attr_encrypted : 暗号化された値を選択して値を復号化する方法
以下のattr_encryptedを使用して、テーブル/モデル-RegisteredDomainの値を暗号化しています
値は暗号化され、db にも保存されます。以下のコードは、値を db に保存します。
問題は、以下の選択で値を復号化することです。ここで暗号化された値を取得します。リストで復号化された値を取得する方法を誰か教えてください。
ruby-on-rails - 暗号化されたデータを検索する Algolia
現在、私のデータベースには暗号化されたデータがあり、それを Algolia に送信しています。この暗号化されたデータを検索する必要がありますが、インデックスが「John」で「Joh」を検索すると、それらはまったく類似していないため、0 件のヒットになります。
これを解決する方法はありますか?私は現在レールとattr_encryptedを実行しています