2016-11-24 7 views
0

私はここ数日、URLで使用するデータの暗号化について検索してきました。RoRクエリ文字列の暗号化と復号化

私は基本的に3つの文字列を持っており、私は一意のトークンを暗号化する必要があります。

例:コード:「12345678」電子メール:「[email protected]」名:「Nametestと」

これはコード%電子メール%名として一緒に参加され、私はそれらを暗号化する必要があります。

他のサーバーの暗号化された文字列を復号化するために、暗号化された文字列を渡す必要があるため、どうすればよいでしょうか?私はすべて使用していたアルゴリズムは、「/ \ =」のいくつかのフォームを入れて、私はあなたが安全に特殊文字を問題なくURLに暗号化された文字列を入れたい場合は、おそらくヘルプ

+0

いいえ、結果の文字列をurl-escapeしても問題はありません。あなたはここでエンコード/デコードしようとしています:http://meyerweb.com/eric/tools/dencoder/ –

+1

「人がコンテンツを見ないようにする」のように「暗号化する」ことを意味するのですか、「作る私はこれらを周りに渡すことができますか? "最も単純なエンコーディングは、しばしばbase64です。 '%'で結合することは、これらのフィールドにそれが含まれないという巨大な前提があるので、問題になります。 – tadman

答えて

0

ため

おかげで問題を引き起こす可能性があることを推測しますこの目的でURI.encodeを使用できます。

require 'uri' 

URI.encode("Hello world") 
#=> "Hello%20world" 
URI.decode("Hello%20world") 
#=> "Hello world" 

あなたがコードすることが簡単な何かをしたいと、あなたが積極的な支援が提供するMessageVerifier使用することができ、後にどこかでデコードし、検証することができ、生データを非表示にした場合:

@verifier = ActiveSupport::MessageVerifier.new('s3Krit') 
cookies[:remember_me] = @verifier.generate([@user.id, 2.weeks.from_now]) 
id, time = @verifier.verify(cookies[:remember_me]) 

http://api.rubyonrails.org/classes/ActiveSupport/MessageVerifier.html http://ngauthier.com/2013/01/rails-unsubscribe-with-active-support-message-verifier.html

を真の暗号化が必要な場合は、そのようなプロジェクトを調べることができます。 OpenSSLを使用しています: http://rocketjob.github.io/symmetric-encryption/