2016-11-24 2 views
0

Ich habe in den letzten paar Tagen über die Verschlüsselung einiger Daten für die Verwendung der URL gesucht.RoR-Verschlüsselung und Entschlüsselung für Abfragezeichenfolge

Ich habe grundsätzlich 3 Zeichenfolgen und ich muss dann auf einem eindeutigen Token verschlüsseln.

zB: Code: '12345678' E-Mail: '[email protected]' Name: 'Nametest'

Dies zusammen als Code% email% name beitreten werden und ich brauche, um sie zu verschlüsseln.

Was ist der beste Weg, um es zu tun, wie ich die verschlüsselte Zeichenfolge auf der URL für den anderen Server zum Entschlüsseln übergeben muss? Die Algorithmen, die ich verwendet habe alle irgendeine Form von ‚/ \ =‘ setzen und ich denke, dass wahrscheinlich Probleme

Danke für die Hilfe führen kann

+0

Nein, diese werden keine Probleme verursachen, wenn Sie die resultierende Zeichenfolge url-escapen. Sie versuchen, codieren/decodieren Sie hier: http://meyerweb.com/eric/tools/dencoder/ –

+1

Meinst du "verschlüsseln" wie in "verhindern, dass Menschen den Inhalt sehen" oder meinst du "encode" wie in "make it damit ich diese weitergeben kann "? Die einfachste Kodierung ist oft base64. Das Verbinden mit '%' wird problematisch sein, da es eine große Annahme ist, dass diese Felder das nicht enthalten. – tadman

Antwort

0

Wenn Sie sicher String in url ohne Probleme mit Sonderzeichen verschlüsselt setzen wollen Dann könnten Sie URI.encode für diesen Zweck verwenden.

require 'uri' 

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

Wenn Sie etwas einfach, dass codiert und Rohdaten verstecken, die irgendwo später decodiert werden konnte und überprüft dann könnte man MessageVerifier durch aktive Unterstützung zur Verfügung gestellt verwenden:

@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

Wenn Sie eine echte Verschlüsselung wünschen, können Sie in ein solches Projekt schauen. Es verwendet OpenSSL: http://rocketjob.github.io/symmetric-encryption/

Verwandte Themen