機密情報を保管する
概要
何を求めているのかよくわかりませんが、ご容赦ください。
このような Ruby シナリオで実装するにはどうすればよいですか:
ユーザーは何らかの機密情報を持っています。 { トークン: “blabla”、メール: “[email protected]”} ここで、ユーザーは何らかの手順を使用してデータを暗号化し、サーバー/データベースにアップロードする必要があります。
現在、Web アプリケーションはその情報を使用して別のアプリに接続し、そのデータを使用するためにデータを復号化できる必要があるため、おそらくアプリは情報を復号化するために何らかの 2 番目のキーを持っている必要があります。
これについて明確かどうかわかりませんが、何か質問があれば質問してください。ご提案や情報をありがとうございます。
問題を解決するために使用するコード/ヒント/追加情報/ツールを期待しています。
解決策
さまざまなアプローチを適応させることができます。たとえば、これは役立つかもしれません。 このようにして、秘密キーのようなトークン/キーをアプリケーション レベルに設定できます。これは暗号化と復号化に使用されます。
token = ActiveRecord::Encryption.encryptor.encrypt('something here to encrypt as a salt, etc.')
Base64.encode64(ActiveRecord::Encryption.encryptor.encrypt("#{token}@YOUCANPUTMORESTRONGKEYHERE@#{email-or-token-or-what-ever}"))
復号化用
decoded_token = ActiveRecord::Encryption.encryptor.decrypt(
Base64.decode64(params[:token])
)
encoded_token, email_or_token = decoded_token.split('@TOKEN@')