Mon serveur RoR reçoit une chaîne, qui a été chiffré en application C++ en utilisant des3 avec Base64décryptage DES3 en Ruby on Rails
L'objet de chiffrement est créé pour:
cipher = OpenSSL::Cipher::Cipher::new("des3")
cipher.key = key_str
cipher.iv = iv_str
key_str et iv_str: sont représentations en chaîne de la clé et du vecteur d'initialisation pour l'algorithme de chiffrement. Ils sont identiques pour les applications RoR et C++.
Le code du côté RoR suit:
result = ""
result << cipher.update(Base64.decode64(message))
result << cipher.final
Après l'exécution de la dernière ligne de code, je reçois une exception
OpenSSL::CipherError (bad decrypt)
Quel est le problème ici? Des idées ?
dernière ligne? quel est le chiper variable? un objet AR? aussi qu'est-ce que la méthode finale? – makevoid
Comme le dit ce tutoriel, http://olabini.com/blog/2008/08/ruby-security-quick-guide/ "Enfin, vous devez appeler final pour obtenir le dernier texte chiffré généré" Je suppose, que cette méthode est simmilar pour vider la méthode pour les flux. – AntonAL