rails activesupportの復号化をgolangに書き換えようとしていますが、このエラーが発生します
エラー aesGCMOpen はパスワードを取得しました: メッセージの検証に失敗しました
これは復号化を積極的にサポートする Rails コードです
リーリーこれは、rails からの activesupport の書き換えを解読しようとする Golang コードです。
リーリー重要なのは次のとおりです:
リーリーこの Rails コマンドから暗号化されたデータを生成しました
リーリー解決策を見つけた場合は、コメントを残してください。
###ありがとう###Rails 暗号化から暗号化されたデータを復号できる
正解aesGCM.Open()呼び出しでは、暗号文と認証ラベルがそれぞれ 3 番目と 4 番目のパラメーターで渡されます。これは間違っています。 2 つのデータを連結して 3 番目のパラメーターに渡す必要があります。 4 番目のパラメータは
nil である必要があります。このパラメータは、ここでは使用されていない 追加データ
に使用されます。
さらに、復号化されたデータの逆シリアル化が Go コードから欠落しています。これを行うには、
ruby-marshal などの適切なライブラリを適用する必要があります。
全体として、次の変更が必要です:
これらの変更により、Rails コードを使用して暗号化されたデータは Go コードを使用して正常に復号化できるようになりました。
以上がエラー aesGCMOpen がパスワードを取得しました: メッセージ認証に失敗しました: golang 復号化 gcmの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。