ホームページ > バックエンド開発 > Golang > エラー aesGCMOpen がパスワードを取得しました: メッセージ認証に失敗しました: golang 復号化 gcm

エラー aesGCMOpen がパスワードを取得しました: メッセージ認証に失敗しました: golang 復号化 gcm

王林
リリース: 2024-02-06 08:05:03
転載
1082 人が閲覧しました

错误 aesGCMOpen 得到密码:消息身份验证失败:golang 解密 gcm

質問内容

rails activesupportの復号化をgolangに書き換えようとしていますが、このエラーが発生します

エラー aesGCMOpen はパスワードを取得しました: メッセージの検証に失敗しました

これは復号化を積極的にサポートする Rails コードです

リーリー

これは、rails からの activesupport の書き換えを解読しようとする Golang コードです。

リーリー

重要なのは次のとおりです:

リーリー

この Rails コマンドから暗号化されたデータを生成しました

リーリー

解決策を見つけた場合は、コメントを残してください。

###ありがとう###

Rails 暗号化から暗号化されたデータを復号できる

正解

Go コード内

aesGCM.Open()呼び出しでは、暗号文と認証ラベルがそれぞれ 3 番目と 4 番目のパラメーターで渡されます。これは間違っています。 2 つのデータを連結して 3 番目のパラメーターに渡す必要があります。 4 番目のパラメータは nil である必要があります。このパラメータは、ここでは使用されていない 追加データ に使用されます。 さらに、復号化されたデータの逆シリアル化が Go コードから欠落しています。これを行うには、
ruby-marshal などの適切なライブラリを適用する必要があります。 全体として、次の変更が必要です:

リーリー

これらの変更により、Rails コードを使用して暗号化されたデータは Go コードを使用して正常に復号化できるようになりました。

以上がエラー aesGCMOpen がパスワードを取得しました: メッセージ認証に失敗しました: golang 復号化 gcmの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート